|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
JPA OneToOne with Primary Key FK QuestionI'm having a hard time with a OneToOne with a Primary Key as Foriegn
Key relationship. The secondary table is not getting the PK set, it's going in as null, instead of grabbing Here's the EO's. Account and AccountDetails They both share account_id as PK's. I set the relationships on both sides and persist the account object, the insert on the account_details fails with a null account_id. Account --- public class Accounts extends CreatedByModifiedByBaseEntity implements Serializable { @Id @GeneratedValue(generator="ACCOUNT_ID_SEQ",strategy=GenerationType.SEQUENCE) @SequenceGenerator(name="ACCOUNT_ID_SEQ",sequenceName="crm.\"ACCOUNT_ID_SEQ\"",allocationSize=1) @Column(name="account_id") private Long accountId; @OneToOne(mappedBy="accountId",cascade=PERSIST) private AccountDetails accountDetails; Account_Details --- public class AccountDetails extends ModifiedByBaseEntity implements Serializable { @Id @Column(name="account_id") private Long accountId2; @OneToOne @PrimaryKeyJoinColumn private Accounts accountId; -- ./tch _______________________________________________ eclipselink-users mailing list eclipselink-users@... https://dev.eclipse.org/mailman/listinfo/eclipselink-users |
|
|
Re: JPA OneToOne with Primary Key FK QuestionThe issue is that you need to set the AccountDetails accountId2, it will not be set for you. You can do this by first persisting the Account, then creating the AccountDetails and setting its' account and accountId2 to the Account. You might also be able to do this in an event.
see, http://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing#Primary_Keys_through_OneToOne_Relationships
James Sutherland EclipseLink, TopLink Wiki: EclipseLink, TopLink Forums: TopLink, EclipseLink Book: Java Persistence |
|
|
Re: JPA OneToOne with Primary Key FK QuestionThanks James, seems that particular model is not well suited to a
@OneToOne, we ended up implementing with a @SecondaryTable annotation and that worked perfectly with minimal hassle. Thanks, Tim On Wed, Jun 18, 2008 at 10:01 AM, James Sutherland <jamesssss@...> wrote: > > The issue is that you need to set the AccountDetails accountId2, it will not > be set for you. You can do this by first persisting the Account, then > creating the AccountDetails and setting its' account and accountId2 to the > Account. You might also be able to do this in an event. > > see, > http://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing#Primary_Keys_through_OneToOne_Relationships > > > > Tim Hollosy wrote: >> >> I'm having a hard time with a OneToOne with a Primary Key as Foriegn >> Key relationship. >> >> The secondary table is not getting the PK set, it's going in as null, >> instead of grabbing >> >> Here's the EO's. >> >> Account and AccountDetails >> >> They both share account_id as PK's. >> >> I set the relationships on both sides and persist the account object, >> the insert on the account_details fails with a null account_id. >> >> Account >> --- >> public class Accounts extends CreatedByModifiedByBaseEntity implements >> Serializable { >> @Id >> >> @GeneratedValue(generator="ACCOUNT_ID_SEQ",strategy=GenerationType.SEQUENCE) >> >> @SequenceGenerator(name="ACCOUNT_ID_SEQ",sequenceName="crm.\"ACCOUNT_ID_SEQ\"",allocationSize=1) >> @Column(name="account_id") >> private Long accountId; >> >> @OneToOne(mappedBy="accountId",cascade=PERSIST) >> private AccountDetails accountDetails; >> >> Account_Details >> --- >> public class AccountDetails extends ModifiedByBaseEntity implements >> Serializable { >> @Id >> @Column(name="account_id") >> private Long accountId2; >> >> @OneToOne >> @PrimaryKeyJoinColumn >> private Accounts accountId; >> >> -- >> ./tch >> > > > ----- > --- > http://wiki.eclipse.org/User:James.sutherland.oracle.com James Sutherland > http://www.eclipse.org/eclipselink/ > EclipseLink , http://www.oracle.com/technology/products/ias/toplink/ > TopLink > Wiki: http://wiki.eclipse.org/EclipseLink EclipseLink , > http://wiki.oracle.com/page/TopLink TopLink > Forums: http://forums.oracle.com/forums/forum.jspa?forumID=48 TopLink , > http://www.nabble.com/EclipseLink-f26430.html EclipseLink > Book: http://en.wikibooks.org/wiki/Java_Persistence Java Persistence > -- > View this message in context: http://www.nabble.com/JPA-OneToOne-with-Primary-Key-FK-Question-tp17937146p17983350.html > Sent from the EclipseLink - Users mailing list archive at Nabble.com. > > _______________________________________________ > eclipselink-users mailing list > eclipselink-users@... > https://dev.eclipse.org/mailman/listinfo/eclipselink-users > -- ./tch _______________________________________________ eclipselink-users mailing list eclipselink-users@... https://dev.eclipse.org/mailman/listinfo/eclipselink-users |
| Free embeddable forum powered by Nabble | Forum Help |