Armin Waibel escribió:
Iris Soto wrote:
Hello Armin, thanks for ask me,
the version of OJB that i'm using is y.IndirectionHandler -1.0.4, in the OJB.properties file i have enable CGLib proxy support. I has been try test pass without using proxied references, and there is nothing different, the error is the same. I want to make bidirectional reference even though the passport is null when make reference in person
to passport. OJB can work with this null reference?


I currently try to write a test to reproduce your problem. Could you post some example/pseudo code to reproduce your problem?

regards,
Armin

Now I have:

****************************************************************
<class-descriptor class="org.apache.ojb.Person" table="PERSON">
<field-descriptor name="personId" primarykey="true" nullable="false" autoincrement="true"... column="PERSON_ID" jdbc-type="INTEGER"/> <field-descriptor name="personName" nullable="false" default-fetch="true" column="PERSON_NAME" jdbc-type="VARCHAR"/> <reference-descriptor name="personIdRef" class-ref="org.apache.ojb.Passport" auto-update="true" auto-delete="true">
        <foreignkey field-ref="personId"/>
      </reference-descriptor>
</class-descriptor>
****************************************************************
<class-descriptor class="org.apache.ojb.Passport" table="PASSPORT">
<field-descriptor name="personId" primarykey="true" nullable="false" column="PERSON_ID" jdbc-type="INTEGER"/> <field-descriptor name="passport_number" nullable="false" default-fetch="true" column="PASSPORT_NUMBER" jdbc-type="VARCHAR"/> <reference-descriptor name="personIdRef" class-ref="org.apache.ojb.Person" auto-update="false" auto-delete="false">
        <foreignkey field-ref="personId"/>
      </reference-descriptor>
  </class-descriptor>

--
Iris Soto

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



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

To begin i need to store the person, in the test file:
-------------------------------------------------------------------------------------------------------
   public class TestPerson extends PBTestBase {
       private PersonHandler personHandler;
       public void setUp() throws Exception {
super.setUp(); personHandler = new PersonHandler(); } public void testInsertRetrieveBroker() throws Exception {
           PersonHandler personHandler = new PersonHandler();
           Person person = new Person();
           person.setPersonName("Name 1");
            // Save to bean
            personHandler.insert(person);
            // Retrieve the bean
Person personRetrieve = PersonHandler.retrieve(person.getPersonId());

           // Remove the bean
personHandler.remove(personRetrieve.getPersonId()); // Here I got the error.
       }
       protected void cleanUpDB() throws Exception {
           removeAll(Person.class);
       }
}
----------------------------------------------------------------------------------------------------------
I insert my bean call to file PersonHandler.java that contains the following:

import org.apache.ojb.Person;
import org.apache.ojb.Passport;

public class PersonHandler {
  /********************/
   public void insert(Person bean) throws Exception {
       PersistenceBroker broker = null;

       try {
           broker = PersistenceBrokerFactory.defaultPersistenceBroker();
broker.beginTransaction(); broker.store(bean);
           broker.commitTransaction();
       } catch (Exception e) {
           throw e;
       } finally {
           if (broker != null && !broker.isClosed()) {
               if (broker.isInTransaction()) {
                   broker.abortTransaction();
               }
               broker.close();
   }
  /********************/
   public void update(Person bean) throws Exception {
       PersistenceBroker broker = null;
       try {
           broker = PersistenceBrokerFactory.defaultPersistenceBroker();
           broker.beginTransaction();
           broker.store(bean);
           broker.commitTransaction();
           broker.clearCache();
       } catch (Exception e) {
           throw e;
       } finally {
           if (broker != null && !broker.isClosed()) {
               if (broker.isInTransaction()) {
                   broker.abortTransaction();
               }
               broker.close();
           }
       }
   }
   /**********************************/
   public void remove(Integer personId) throws Exception {
       PersistenceBroker broker = null;

       try {
           broker = PersistenceBrokerFactory.defaultPersistenceBroker();
           broker.beginTransaction();
           Person bean = retrieve(personId, broker);
           broker.delete(bean);
           broker.commitTransaction();
           broker.clearCache();
       } catch (Exception e) {
           throw e;
       } finally {
           if (broker != null && !broker.isClosed()) {
               if (broker.isInTransaction()) {
                   broker.abortTransaction();
               }
               broker.close();
           }
       }
   }
   /****************************/
public static Person retrieve(Integer personId, PersistenceBroker broker) {
       Person criterio = new Person();
       criterio.setPersonId(personId);
       Query query = new QueryByIdentity(criterio);
       return (Person) broker.getObjectByQuery(query);
   }
}
**************************************************************
Passport.java
---------------------------------
public class Passport implements java.io.Serializable
{
  private Integer    personId;
  private Integer     passportNumber;

  public Integer getPersonId() { return personId; }

  public void setPersonId(Integer personId)
  {
     this.personId = personId;
  }

//---------------------------------------------------------------------------

  public Integer getPassportNumber() { return passportNumber; }

  public void setPassportNumber(Integer passportNumber)
  {
     this.passportNumber = passportNumber;
  }

//---------------------------------------------------------------------------

  private Person PersonIdRef;

  public Person getPersonIdRef() { return personIdRef; }

  public void setPersonIdRef(Persons person)
  {
     this.personIdRef = person;
  }
}
*******************************************
Person.java
-----------------------------
public class Person implements java.io.Serializable
{
   public Integer getPersonId() { return PersonId; }

  public void setPersonId(Integer PersonId)
  {
     this.PersonId = PersonId;
} //---------------------------------------------------------------------------

  public String getPersonName() { return personName; }

  public void setPersonName(String personName)
  {
     this.personName = personName;
  }
//--------------------------------------------------------------------------- private Passport personIdRef;

  public Passport getPersonIdRef() { return personIdRef; }

  public void setPersonIdRef(Passport passport)
  {
     this.personIdRef = passport;
  }
}

--
Iris Soto

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

Reply via email to