hi, abe closed this with the reasoning ...
"the book field in the PageId class must be of type String to match the primary key field type of Book" was i mistaken when i understood you to say that Page could have a PK field of type Book? if not, very sorry for all the confusion. or were you just saying that open JPA allowed the PK field to be a ManyToOne relationship? p.s., it's issue #191 https://issues.apache.org/jira/browse/OPENJPA-191 Patrick Linskey <[EMAIL PROTECTED]> wrote: Yes, please do. It looks like your code should work. -Patrick -- Patrick Linskey BEA Systems, Inc. _______________________________________________________________________ Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it. > -----Original Message----- > From: jeff [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 28, 2007 10:31 AM > To: open-jpa-dev@incubator.apache.org > Subject: RE: composite ID based on "one" side of a > bidirectional one-many relationship > > yes, i see the problem w/ the attached classes, and with a > completely different model where i am trying to accomplish > the same thing. > > should i file a bug? i can attach the test case there. > > Patrick Linskey wrote: Are you still > seeing that same problem with the code that you attached? > > -Patrick > > -- > Patrick Linskey > BEA Systems, Inc. > > ______________________________________________________________ > _________ > Notice: This email message, together with any attachments, > may contain > information of BEA Systems, Inc., its subsidiaries and > affiliated > entities, that may be confidential, proprietary, > copyrighted and/or > legally privileged, and is intended solely for the use of the > individual > or entity named in this message. If you are not the intended > recipient, > and have received this message in error, please immediately > return this > by email and then delete it. > > > -----Original Message----- > > From: jeff [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, March 27, 2007 1:42 PM > > To: open-jpa-dev@incubator.apache.org > > Subject: RE: composite ID based on "one" side of a > > bidirectional one-many relationship > > > > Patrick Linskey > wrote: > > > > > my ID class has a book field, and getters and setters for it > > > to match Page's book field. i wonder about the last line > > > where it says "java.lang.String". that seems odd. > > > > Can you post your Book and Page classes and the Page's IdClass? > > > > > > attached. i keep trying to attach the entire project as a > > zip, but apache's spam filter keeps dropping it. let me know > > i could send to you directly. > > > > > > > so, regardless, even if that did work, correct me if i am > > > wrong, but it'd be a really bad idea to depend on openjpa > > > specifics, because my app doesn't get to choose the JPA > > > implementation, it has to use whatever the java ee container > > > gives it ... right? > > > > No -- a Java EE 5 container *must* allow you to specify > > your persistence > > provider. Whatever you put in the element in the > > persistence.xml must be obeyed. Only if you do not specify a > > element can the implementation can choose whatever it > > wants to use. > > > > > > yes, duh. sorry. > > > > > > > > Correct. > > > > > so, assuming i do need to accomplish this, is there a best > > > practice? as i mentioned, what i did to make it work was make > > > the Page's composite ID incorporate the Book's ID by adding a > > > "derived" bookName field to Page, like ... > > > > You could add a private bookName field that has no > > external mutators or > > accessors, and create a @PreStore callback that copies > > the value from > > the related Book into the field. That would do a decent > > job of isolating > > the artifact from the rest of your app. > > > > > > yes, that works. > > > > ________________________________ > > > > Finding fabulous fares is fun. > > Let Yahoo! FareChase search your favorite travel sites > > > FtNW45amVpBF9TAzk3NDA3NTg5BF9zAzI3MTk0ODEEcG9zAzEEc2VjA21haWx0 > YWdsaW5lBH > NsawNxMS0wNw--> to > find flight and hotel bargains. > > > > Notice: This email message, together with any attachments, > may contain information of BEA Systems, Inc., its > subsidiaries and affiliated entities, that may be > confidential, proprietary, copyrighted and/or legally > privileged, and is intended solely for the use of the > individual or entity named in this message. If you are not > the intended recipient, and have received this message in > error, please immediately return this by email and then delete it. > > > > > --------------------------------- > Food fight? Enjoy some healthy debate > in the Yahoo! Answers Food & Drink Q&A. > Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it. --------------------------------- Bored stiff? Loosen up... Download and play hundreds of games for free on Yahoo! Games.