[EMAIL PROTECTED] wrote: > The rest of the Entities get the PK set at creation time > like: setProductPK( BusinessCardUtil.generateGUID(pBusinessCardDto) );
productPK is the name of the CMP attribute on BusinessCard? Just double-checking that I understand here. > Yes, I create a new CreditApplicatonDto and populate it with > just the core data in the CreditApplication. No other > objects. I did try it originally by creating the > CreditApplication with the original CreditApplicationDto, but > have been desperately trying to hack anything in to get this to work. What happened before when you sent in the CAppDTO with the 3 sub-DTOs hanging off of it? XDoclet should have generated code that created the sub-DTOs (in ejbPostCreate I guess). Just curious as it may point to what's happening here too. > No, all of my relationships are unidirectional. So i only > have CMR declarations in the CreditApplicationBean. Okay, then are you seeing that in the database the 3 related tables have app_id set along the way. Meaning, you setBusinessCard, and it has an app_id. Then you setBusinessLine and it gets an app_id *and* the business card row loses its app_id. What I'm getting at is from where are the appIDs disappearing? Just the database or the DTOs or somewhere else? The other thing to make sure of is that the appID is being set and then unset. Or is it somehow magically knowing you're adding three items to the app and only setting the appID for the last one? Unlikely. If this is happening in the database, I recommend you go grab p6spy. It's a JDBC driver-wrapper that will log all of the SQL calls your appserver is making. This has helped me so very much during my development: http://www.p6spy.com/download.html The docs are kinda hazy, so from memory here's all you need to do: * Put p6spy.jar in your appserver lib/ext * Change p6spy.properties to use your driver class name * Put p6spy.properties in your appserver directory (in the domain for WebLogic) * Change the JDBC driver in your ConnectionPool to the p6spy driver After that, start your appserver and it creates spy.log with all the SQL commands and result sets. Quite handy. Anyway, back to the program... > I am posting the relationship for 1 product as they are all > identical, Identical except for the relation name, role name, target-role-name and target-ejb (marked == below), right? I suppose if they were the same you'd get a deployment (or XDoclet) error. > I have checked many times. But, there is no way > for me to create a BusinessCard with an AppId. I added it > once, and got aCMR error. So I had to let the CMR manage the AppId. > > /** > * @ejb.relation > == * name="CreditApplication-BusinessCard" > == * role-name="CreditApplication-has-BusinessCard" > == * target-ejb="BusinessCard" > == * target-role-name="BusinessCard-belongs_to-CreditApplication" > * target-cascade-delete="yes" > * > * @weblogic.target-column-map > * foreign-key-column="applicationId" > * key-column="applicationId" > */ If this still doesn't help, you can send me the whole CreditApplicationEJB source (if you're wary of posting the whole thing to the list) as an attachment. I don't know that I'll spot something, but I've always found a second pair of eyes to be useful. David Harkness Sr. Software Engineer Sony Pictures Digital Networks (310) 482-4756 ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ xdoclet-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/xdoclet-user