Springboot +休眠关系问题

我一直在寻找问题的答案已有2天了,但是我不能很好地描述问题。这就是为什么我找不到答案...

我有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;
}
lanhu091 回答:Springboot +休眠关系问题

您可能希望使用@JoinTable批注(每种关联类型使用一个交叉引用表,而不是Adress表中的@JoinColumn)来指定@OneToMany关联。更多信息在这里: https://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html_single/#example-one-to-many-with-join-table

您最终会得到类似的东西:

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

然后,使用USER_ADDRESSES连接表,您将对用户表进行类似操作

本文链接:https://www.f2er.com/3106954.html

大家都在问