You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Armin Waibel <ar...@apache.org> on 2004/09/01 18:37:38 UTC
Re: Autoincriment FK and PK problem
Brian Latimer wrote:
>
>> in a DB2 databse
>
>
>> Table A has a PK named id that is also an identity (autoincriment) column
>
>
> Table B has a PK called id that is also a FK to table A's id field
>
> When attempting to insert Class A, which contains an instance of Class
> B, it seems that OJB attempts to insert class B before class A.
right, this is current behavior.
> This
> fails, as class A doesn't have a proper PK yet, and thus class B doesn't
> have a valid PK yet.
>
Workaround for PB-api could be, first do PB.store(A) (without referenced
object), then set PK from in reference B and do PB.store(B) or set
reference in A and store A again.
> given that I can't change my poorly designed database, is there anything
> I can do within OJB to get around this problem?
>
> Do I simply need to manually insert class A and B?
Of course you can use OJB, but you have to prepare the B objects before
insert (update, delete will work). Currently OJB isn't smart enough to
handle this automatic. But it shouldn't be a problem to enhance OJB to
support this.
> That would be a
> shame, as the auto-update feature works great for instances of class A
> and B that already exist.
>
> any suggestions would be appriciated.
>
Please make a feature request. I think you are right, OJB should be able
handle this, e.g. by introduce a setting in metadata specify that B PK
has a FK to A PK). In that case the order will be interchanged and OJB
first store the main object and then the 1:1 reference.
regards,
Armin
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org