Click to See Complete Forum and Search --> : one-to-one: foreign key: save Problem


CatchSandeepVaid
July 6th, 2009, 05:50 AM
I have one-to-one relationship between class A and class B

<class name="A" table="TEMPA" >
<id name="aaId" type="string" column="AID" length="10">
<generator class="assigned"></generator>
</id>

<one-to-one name="b" class="B" constrained="true" outer-join="false" cascade="save-update" />
</class>


<class name="B" table="TEMPB" lazy="true">
<id name="baId" type="string" column="BID" length="10">
<generator class="foreign">
<param name="property">a</param>
</generator>
</id>

<one-to-one name="a" class="A" />
</class>

Problem 1: When i try to save A, it fires :
insert into HBLEARN1.TEMPB (BID) values ('1')
and throws error :
The insert or update value of the FOREIGN KEY "TEMPB.CC1246876555824" is not equal to any value of the
parent key of the parent table. SQLSTATE=23503

Why it is first trying to save 'B' instead of 'A' first ?

Problem 2: With this mapping, if i set <property name="hibernate.hbm2ddl.auto">create</property> in hibernate.cfg.xml,
It generates TEMPA whose aaId is the foreign key referencing TEMPB. This is also incorrect..

dlorde
July 6th, 2009, 07:09 AM
Please don't cross-post between forums - your question was answered elsewhere, so people here will be wasting their time trying to help you.

You've been told about this before - it's a great way to get onto everyone's ignore lists.

A common mistake people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools...
D. Adams