I've been using OJB for over a year now, and when it works, it's a
beautiful thing.  Thanks to the team for all you do!

I'm having two problems today which make me feel like a newbie.  I'm
hoping somebody can shed some light.

I'm using RC5, Oracle 9i, ODMG, PersistentFieldIntrospectorImpl.

1) Adding to a collection.  I have a simple 1:n relationship which
   uses an anonymous key.  Repository snippet:

     <class-descriptor class="Parent">
       <field-descriptor name="parentId"
                         primarykey="true" />
       <collection-descriptor name="child"
                              element-class-ref="Child">
         <inverse-foreignkey field-ref="parentId" />
       </reference-descriptor>
     </class-descriptor>

     <class-descriptor class="Child">
       <field-descriptor name="parentId"
                         access="anonymous" />
     </class-descriptor>

   I've written the following code:

     // get parent object, with no children (yet)
     Parent parent = <get parent by id>; 
     Child child = new Child();

     tx = fOdmg.newTransaction();
     tx.begin();
     tx.lock(parent, tx.WRITE);
     tx.lock(child, tx.WRITE);
     parent.addChild(child);
     tx.commit();

   Parent.addChild() is defined as:
     public void addChild(Child child) {
        fChildren.add(child);
     }

   The commit() throws:
      java.sql.SQLException: ORA-01400: cannot insert NULL into ("CHILD"."PARENT_ID")

   What am I missing??  Do I have to define the reverse relationship
   (Child.parent) in order to get the anonymous key to work?

2) I have a class A with a reference to class B.  B is mapped to a
   table in a different schema from A; my database user has read-only
   access to B's schema.  I database.deletePersistent(anA), and OJB
   tries to *update* the corresponding B, which I have not changed
   (there is no reference from B to A).  I have not set auto-anything
   anywhere in repository.xml.  Why would this happen?

thanks,
-steve

--
Steve Clark
Technology Applications Team
Natural Resources Research Center/USGS
[EMAIL PROTECTED]
(970)226-9291

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to