java - 具有外键关系的 Hibernate 子类

标签 java hibernate inheritance mapping joined-subclass

我需要一些帮助在 Hibernate 中定义以下对象层次结构/数据库关系

从对象意义上来说——Agent继承自Person,Agency继承自Organization。它们是从可以有多个与其关联的地址的一方继承的

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

最佳答案

像下面这样的事情可能是一个开始

@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;
}

关于java - 具有外键关系的 Hibernate 子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2906516/

相关文章:

javascript - ES6 类通过 mixins 多重继承

java - 使用不带"No query defined for that name"的spring-data-jpa时出现"@Query"异常

java - org.hibernate.PropertyNotFoundException

java - 将 UUID 转换为十六进制字符串,反之亦然

java - 如何从字符串中分离字母和符号。(即将完成)

java - 使用 Spring Data 审计数据库记录更改

java - 我似乎无法为我的java使用两个继承,在另一个类中扩展一个类

java - Java Generic Type 参数可以扩展另一个 Type 参数和附加的有界类型吗?

java - Servlet 中始终运行的线程

java - 有没有办法在 Eclipse 中查看类方法的列表及其长度(行数)?