Hi.
I'm having a problem with the following code:
...
Transaction tx = null;
try {
tx = ojb.newTransaction();
tx.begin();
A a = getA(1); // Retrieves the object from the DB using a OQL query
B b = new B();
b.setId(100);
db.makePersistent(b);
b.setName("PROBANDO");
b.setId_a(a.getId());
a.getLista().add(b);
db.deletePersistent(b);
a.getLista().remove(b);
tx.commit();
}
catch (Exception ex) {
tx.abort();
}
...
The mapping is:
<class-descriptor class="prueba_ojb.A" table="A">
<field-descriptor id="1" name="id" column="ID" jdbc-type="INTEGER"
primarykey="true" />
<field-descriptor id="2" name="name" column="NAME" jdbc-type="VARCHAR" />
<collection-descriptor name="lista" element-class-ref="prueba_ojb.B"
auto-retrieve="true" auto-update="false" auto-delete="false" <!-- as
OJB advises to use with ODMG -->
orderby="id">
<inverse-foreignkey field-id-ref="3"/>
</collection-descriptor>
</class-descriptor>
<class-descriptor class="prueba_ojb.B" table="B">
<field-descriptor id="1" name="id" column="ID" jdbc-type="INTEGER"
primarykey="true" />
<field-descriptor id="2" name="name" column="NAME" jdbc-type="VARCHAR" />
<field-descriptor id="3" name="id_a" column="ID_A" jdbc-type="INTEGER" />
</class-descriptor>
I suppose OJB should do nothing since I create a new object (class B),
make persistent, modify it and finally delete it. But this object makes
the following transitions in its state:
StateNewDirty -> StateNewDelete -> StateNewDirty -> StateOldClean
So the object is stored in the database.
I don't know if there is a bug or I don't understand the ODMG part of OJB.
Thank you in advance.
--
To unsubscribe, e-mail: <mailto:ojb-user-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:ojb-user-help@;jakarta.apache.org>
- ODMG states problem Jose Maria Lopez Lagunas
- ODMG states problem Jose Maria Lopez Lagunas
- Re: ODMG states problem Thomas Mahler
- Re: ODMG states problem Thomas Mahler
