1、将实体映射成多个表
- 一个Entity映射成1个主表1个从表的情况:
@Entity @Table(name = "person_table") @SecondaryTable(name="person_detail",pkJoinColumns=@PrimaryKeyJoinColumn(name="person_id")) public class Person { private String name; @Column(table = "person_detail", name = "email") private String email; @Column(table = "person_detail", name = "phone") private String phone; //其他代码 }
- 一个Entity映射成1个主表N个从表的情况:
@Entity @Table(name = "person_table") @SecondaryTables({ @SecondaryTable(name = "person_detail", pkJoinColumns = @PrimaryKeyJoinColumn(name = "person_id")), @SecondaryTable(name = "person_address", pkJoinColumns = @PrimaryKeyJoinColumn(name = "person_id")) }) public class Person { private String name; @Column(table = "person_detail", name = "email") private String email; @Column(table = "person_detail", name = "phone") private String phone; @Column(table="person_address", name="home_address") private String homeAddress; @Column(table="person_address", name="company_address") private String companyAddress; //其他代码 }