[jboss-user] [EJB 3.0] - Multiple (different) relations between two entities?
JoPe
do-not-reply at jboss.com
Fri Jun 27 14:52:17 EDT 2008
I need to write an EntityBean that holds a collection of EntityBeans of another type plus two single references to EntityBeans of that type. A simple example would be a customer who has a work address and a home address, and a collection of previously used addresses that also need to be stored.
The classes could look like this:
| @Entity
| public class Customer implements Serializable
| {
| private Integer id;
| ...
| private Address homeAddress;
| private Address workAddress;
| private Address[] previousAddresses;
| ...
| @CollectionOfElements
| @IndexColumn(name="index1")
| public Address[] getPreviousAddresses()
| {
| return previousAddresses();
| }
|
| @OneToOne
| public Address getHomeAddress()
| {
| return homeAddress;
| }
|
| @OneToOne
| public Address getWorkAddress()
| {
| return workAddress;
| }
| ...
| }
|
| @Entity
| public class Address implements Serializable
| {
| private Integer id;
| ...
| }
|
However, I could not find any combination of annotations that would persist this setup in a sensible way. All the Addresses always get stored in one table, and I can't find a way to distinguish which address plays which "role" in the customer class when trying to write an SQL query to read them. I would especially like to avoid having to declare a Customer attribute in the Address class, since this would be redundant on the object level and would produce a lot of implementation overhead in my application.
Does anybody know how this can be done? I'm sure I am not the first person running into this need, but unfortunately, all the books, docs and tutorials I found don't cover it.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4161286#4161286
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4161286
More information about the jboss-user
mailing list