I have worked on simplifying my problem, resulting in the following 
question--could someone please tell me how to, or have a code example of the 
annotations to configure combining inheritance with a one-to-many relationship 
among entities (i.e., A is the superclass of B. B contains a Collection of C 
objects) or for that matter a one-to-one (B contains an C) or many-to-many 
relationship? At this point, I am not picky about whether the relationship is 
uni- or bidirectional or about the inheritance strategy.

As an trial, I first converted exercise 7.1 from the workbook in the Burke & 
Monson-Haefel book, so that the entities run in a container. Client1 exercises 
a one-to-one unidirectional relationship between Customer and Address; Client2, 
a one-to-many unidirectional relationship between Customer and Phone. The Admin 
stateless session EJB includes createCustomer(), findCustomer(), and 
updateCustomer() methods implemented in the obvious way.  In either case, a 
detached instance of the Customer class is created, a field (address or list of 
phone numbers) is added to it while detached, and then admin.update() called to 
do a merge. The new Client1 and Client2 produce the correct results after the 
conversion.

Then I created a "Base" entity and made Customer extend Base using the JOINED 
strategy. Base contains an id field, with a getId() method annotated with "Id" 
and also setId(). I eliminated the id field from the Customer class.  This 
breaks both Client1 and Client2 in the sense that the Address and the 
Collection member variables in the Customer object remain null after the merge 
performed by updateCustomer() in Admin. This is true even within the 
updateCustomer method/transaction itself, so it does not help to set the fetch 
type to EAGER or to traverse the fields within the transaction explicitly.

I have so far been unable to find a working example of this common pattern, 
which is key to what I need to do.  Suggestions?


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3958289#3958289

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3958289
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to