Thanks, Jon. Please keep an eye on the bug report for any updates on our side.
Regards Werner On Sun, 6 Jun 2004 14:36:56 -0700 (PDT), Jon Wilmoth wrote: > >I've created a bugzilla bug report >(http://bugzilla.exolab.org/show_bug.cgi?id=1653) and >attached 6 files: Book/Author classes (w/MySQL ddl >included), mapping docs, a db file and a JUnit test >case demonstrating the issue. Because I've defined my >fk column as not-null, the test case fails due to a >SQL exception, but I added another assertion to >demonstrate the problem if the FK column wasn't >not-null constrained. > >--- Werner Guttmann <[EMAIL PROTECTED]> wrote: >> >> Jon, >> >> you are right that we (aka developers) are quite >> busy, but that does not excuse us from replying to >> your questions. >> >> Having said that, and having read below findings, >> can I please ask you to >> >> a) create a bug report at http://bugzilla.exolab.org >> with a detailed description. >> b) attach the following information.: >> - a (JUnit) test case that I can use to see and >> experience the problem myself. >> - a mapping file. >> - some Java (entity) classes. >> - information about the RDBMS you are using. >> - DDL for the tables used. >> >> And above all, please try to be as minimal as >> possible when submitting your code. Iow, throw out >> everything that is not required to run the tests and >> >> show the problem. >> >> Regards >> Werner >> >> On Fri, 4 Jun 2004 09:24:35 -0700 (PDT), Jon Wilmoth >> wrote: >> >> > >> >I changed a local copy of >> >ClassMolder.getIdentity(TransactionContext tx, >> Object >> >o) to always return the value of >> >getActualIdentity(TransactionContext tx, Object o) >> to >> >try and see what the comment about a "dummy >> identity" >> >being returned the case where key generator is >> used, >> >was about and I don't see any "fake" values being >> >returned. What I do see is my original problem is >> >fixed! >> > >> >Original Problem: >> >Unable to create objects (in a long trxn context) >> that >> >have existing mapped object(s) as properties >> because >> >the ClassMolder.getIdentity(TransactionContext tx, >> >Object o) method returns null for objects that are >> key >> >generated and either not read-only or persistent. >> For >> >example: >> > >> >One txn retrieves an existing object >> >Long existingId = ...; >> >MyObject existing = Database.load(MyObject.class, >> >existingId); >> > >> >A subsequent txn uses the previously loaded, >> >non-persistent object to create a new object >> >MyComplexObject newComplex = new MyComplexObject(); >> >newComplex.setMyObject(existing); >> >Database.create(newComplex); >> > >> >I realize the project developers are busy, but this >> >seems like a core issue and I'm hoping someone has >> >some feedback to help debunk/resolve this "issue". >> > >> >Jon >> > >> >--- Jon Wilmoth <[EMAIL PROTECTED]> wrote: >> >> >> >> I've been working around the area effected by >> this >> >> issue, but thought I'd try to get some more >> >> info/spawn >> >> some more thought on this topic. There's a >> comment >> >> in >> >> the ClassMolder.getIdentity(TransactionContext, >> >> Object) method code that says: "In the case where >> >> key >> >> generator is used, the value of identity is >> dummy, >> >> set >> >> it to null". Wouldn't this statement be limited >> to >> >> objects being newly created? The problem that I >> see >> >> is that it doesn't allow for accessing the >> identity >> >> of >> >> an existing object in a long transaction (i.e. >> where >> >> the existing object hasn't been marked >> persistent. >> >> >> >> The workaround I'm considering is to load the >> castor >> >> mapped objects prior to calling Database.create >> on >> >> the >> >> object that has these objects as field members in >> >> order to have the create method correctly get >> their >> >> identities. This seeems like a terribly >> inefficient >> >> solution (I'm introducing 3 unnecessary db >> queries) >> >> for one save operation. Are there other >> >> alternatives? >> >> >> >> Thanks, >> >> Jon >> >> >> >> >> >> >> >> >> >>----------------------------------------------------------- >> >> >> >> If you wish to unsubscribe from this mailing, >> send >> >> mail to >> >> [EMAIL PROTECTED] with a subject of: >> >> unsubscribe castor-dev >> > >> > >> > >> >>----------------------------------------------------------- >> >> >If you wish to unsubscribe from this mailing, send >> mail to >> >[EMAIL PROTECTED] with a subject of: >> > unsubscribe castor-dev >> > >> >> >> >> >----------------------------------------------------------- >> >> If you wish to unsubscribe from this mailing, send >> mail to >> [EMAIL PROTECTED] with a subject of: >> unsubscribe castor-dev > > > >----------------------------------------------------------- >If you wish to unsubscribe from this mailing, send mail to >[EMAIL PROTECTED] with a subject of: > unsubscribe castor-dev > ----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
