Подкласс Hibernate с отношениями внешних ключей - PullRequest
2 голосов
/ 25 мая 2010

Мне нужна помощь в определении следующей иерархии объектов / отношений базы данных в Hibernate

С точки зрения объекта - Агент наследуется от Персоны, а Агентство наследуется от Организации. они унаследованы от Стороны, с которой может быть связано несколько адресов

alt text

База данных состоит из

Agent
-ID
-Name
-PartyID (references Party.ID)
Agency
-ID
-Name
-PartyID (references Party.ID)
Address
-AddrID
-PartyID (references Party.ID)
-Street
Party.
-PartyID

Ответы [ 2 ]

4 голосов
/ 26 мая 2010

Что-то вроде следующего может быть началом

@Entity
public class Party {

  @Id
  private BigInteger partyID;

  private String name;

  @OneToMany(mappedBy="party")
  private Set<Address> addresses;

} 

@Entity
public class Organization extends Party {} 

@Entity
public class Person extends Party {} 

@Entity
public class Agency extends Organization {} 

@Entity
public class Agent extends Person {}

@Entity
public class Address{

  @Id
  private BigInteger addressID;

  @ManyToOne
  private Party party;

  private String street;
}
4 голосов
/ 25 мая 2010

эта статья может вам помочь. также включает src.

http://www.ibm.com/developerworks/java/library/j-hibernate/

страница сообщества

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/inheritance.html

...