This week's giveaway is in the EJB and other Java EE Technologies forum.
We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line!
See this thread for details.
The moose likes Object Relational Mapping and the fly likes OJB - Two entries in Table after commit Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "OJB - Two entries in Table after commit" Watch "OJB - Two entries in Table after commit" New topic
Author

OJB - Two entries in Table after commit

Tom Wells
Greenhorn

Joined: Dec 08, 2004
Posts: 2
Hi,

I have the problem that after i make a new object persistence with ojb, it is twice in one of my tables.

My Classes look like that:

Animal<-Cat

The reference_user.xml look like this:

<class-descriptor
class="ojb.test.Animal"
table="animal"
>
<field-descriptor
name="id"
column="Id"
jdbc-type="INTEGER"
primarykey="true"
autoincrement="true"
/>
<field-descriptor
name="race"
column="Race"
jdbc-type="VARCHAR"
/>
</class-descriptor>

<class-descriptor
class="ojb.test.Cat"
table="cats"
>
<field-descriptor
name="id"
column="ID"
jdbc-type="INTEGER"
primarykey="true"
autoincrement="true"
/>

<field-descriptor
name="name"
column="Name"
jdbc-type="VARCHAR"
/>

<reference-descriptor name="super"
class-ref="ojb.test.Animal"
auto-retrieve="true"
auto-update="true"
auto-delete="true"
>
<foreignkey field-ref="id"/>
</reference-descriptor>
</class-descriptor>

And my table schema like this:

CREATE TABLE `animal` (
`Id` int(10) unsigned NOT NULL auto_increment,
`Race` varchar(25) default NULL,
PRIMARY KEY (`Id`)
) TYPE=MyISAM;

CREATE TABLE `cats` (
`Id` int(1) unsigned NOT NULL auto_increment,
`Name` varchar(25) default NULL,
PRIMARY KEY (`Id`)
) TYPE=MyISAM ROW_FORMAT=DYNAMIC;

After i insert a cat object i have one entry in table cats (that is correct) and two entries in the table animal. One of the two entries belongs to the cat table entry the other one has a new id.

I use OJB 1.0.1, jdk1.4.2_3, mysql-connector-java-3.0.9-stable.

Thanks for help,

Tom
Tom Wells
Greenhorn

Joined: Dec 08, 2004
Posts: 2
Hi,

I have solved my problem. I removed the id field in the extending class. Now only the root class had the attribute and all works fine. I don't understand why in the inherence description it is written that also the extending classes have the id attribute.

By,

Tom
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: OJB - Two entries in Table after commit
 
Similar Threads
OJB 1.0.1 and SAXParserException
Please HELP with Hibernate Mapping!
OJB findByTemplate Problem
Composite PK AutoIncrement?
Entity Bean on JBoss4.0.2