Hibernate Springboot&x2B;冬眠关系问题

Hibernate Springboot&x2B;冬眠关系问题,hibernate,spring-boot,relation,Hibernate,Spring Boot,Relation,我已经寻找这个问题的答案两天了,但我不能很好地描述这个问题。这就是为什么我找不到答案 我有3个实体:用户、患者、地址 用户和患者都包含一个地址列表 现在如何注释模型,以便只有一个地址表。在我的解决方案中,我必须使用OneToMany注释,但在地址实体中,我必须连接用户和患者 我希望你能理解我的问题 我目前的型号: @Entity @Table(name = "patient") public class Patient extends Base { private String firstn

我已经寻找这个问题的答案两天了,但我不能很好地描述这个问题。这就是为什么我找不到答案

我有3个实体:用户、患者、地址

用户和患者都包含一个地址列表

现在如何注释模型,以便只有一个地址表。在我的解决方案中,我必须使用OneToMany注释,但在地址实体中,我必须连接用户和患者

我希望你能理解我的问题

我目前的型号:

@Entity 
@Table(name = "patient")
public class Patient extends Base {

private String firstname;
private String lastname;
}



@Entity
@Table(name = "user")
public class User extends Base {
private String firstname;
private String lastname;
}

您可能希望使用@JoinTable注释(每种类型的关联对应一个交叉引用表,而不是Adress表中的@JoinColumn)来指定@OneToMany关联。更多信息请点击此处:

你会得到这样的结果:

@Entity 
@Table(name = "patient")
public class Patient extends Base {

...

    @OneToMany
    @JoinTable(
            name="PATIENT_ADDRESSES",
            joinColumns = @JoinColumn( name="PATIENT_ID"),
            inverseJoinColumns = @JoinColumn( name="ADDRESS_ID")
    )
    public Set<Address> getAddressess() { return addresses; }
}
@实体
@表(name=“患者”)
公共类病人扩展基础{
...
@独身癖
@可接合(
name=“患者地址”,
joinColumns=@JoinColumn(name=“PATIENT_ID”),
inverseJoinColumns=@JoinColumn(name=“ADDRESS\u ID”)
)
公共集getAddressess(){返回地址;}
}
然后,您可以使用user\u ADDRESSES联接表对用户表进行类似的操作