Hallo,

I'm try to establish a 1:1 relationship between two object via a simple
object reference.

Imagine the following object modell

Class BusinessPartner();
        Integer bpid;
        Customer customer;

Class Customer();
        BusinessPartner businessParner;

To establish a relationship between two instances of BusinessPartner and
Customer I use the follwing code:

...
Customer cust = new Customer();
BusinessPartner bp = new BusinessPartner();
cust.setBusinessPartner(bp);
bp.setCustomer(cust);
...

Mapping of the repository_user.xml

    <class-descriptor 
                class="demo.myshop.model.ojb2.BusinessPartner"
                table="OJB_BP">

        <field-descriptor
                name="bpid"
                column="BPID"
                jdbc-type="INTEGER"
                primarykey="true"
                autoincrement="true"/>
      
                
        <field-descriptor
                name="fk_cust"
                column="FK_CUST"
                jdbc-type="INTEGER"
                access="anonymous"/>
                   
        <reference-descriptor
                name="customer"
                auto-retrieve="false"
                class-ref="demo.myshop.model.ojb2.Customer">
                <foreignkey>
                         field-ref="fk_cust""
                </foreignkey>
        </reference-descriptor>
        
    </class-descriptor>

   <class-descriptor
        class="demo.myshop.model.ojb2.Customer"
        table="OJB_CUSTOMER">
        <field-descriptor
                name="fk_bpid"
                column="FK_BPID"
                jdbc-type="INTEGER"
                primarykey="true"
                autoincrement="false"
                access="anonymous"/>
                
        <reference-descriptor
                name="businessPartner"
                class-ref="demo.myshop.model.ojb2.BusinessPartner">
                <foreignkey field-ref="fk_bpid"/>
        </reference-descriptor>
  </class-descriptor>

My objective is not to have extra foreignkeys in my classes, which I do
not need in java to do such a relationship.

Doing it this way I get the following error:

        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:666)
        at java.lang.Thread.run(Thread.java:534)
Caused by: org.apache.ojb.broker.OJBRuntimeException: Incorrect field
reference "null" in
[EMAIL PROTECTED]
delete=false,cascade retrieve=false,cascade store=false,is
lazy=false,class of Items=class demo.myshop.model.ojb2.Customer]
        at
org.apache.ojb.broker.metadata.ObjectReferenceDescriptor.getForeignKeyFi
eldDescriptors(Unknown Source)
        at
org.apache.ojb.broker.core.PersistenceBrokerImpl.assertFkAssignment(Unkn
own Source)
        at
org.apache.ojb.broker.core.PersistenceBrokerImpl.assignReferenceFKs(Unkn
own Source)

Thanks,
Stephan

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

Reply via email to