繁体   English   中英

实体的休眠映射字段作为多个实体的外键

[英]Hibernate map field of an Entity as a foreign key to multiple Entities

我想在“地址”实体中保存“用户”和“雇员”实体的地址。 如何设计我的地址实体,以便能够保存用户和雇员的地址。

  1. 创建一个具有地址实体作为成员的抽象基类Person。
  2. 扩展“用户”和“雇员”子类中的“人”类。

      @MappedSuperclass\n 抽象类Person {\n     @ManyToOne @JoinColumn(name =“ ADDRESS”)\n     受保护的地址地址;\n }\n\n @实体\n class Employee扩展Person {}\n\n @实体\n 类User扩展Person {} 

您有两种选择,一种是使地址实体可嵌入,

@Embeddable
public class Address {
   ....
}

@Entity
public class User {
     .....
    @Embedded
    private Address address;

}

@Entity
public class Employee {
     .....
    @Embedded
    private Address address;

}

这将复制表Employee和表User中的列。

如果要共享地址,另一种方法是将地址用作表格:

@Entity
public class Address {
   ....
}

@Entity
public class User {
     .....
    @ManyToOne
    private Address address;

}

@Entity
public class Employee {
     .....
    @ManyToOne
    private Address address;

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM