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]