休眠。没有交叉引用的一对一映射

时间:2014-11-25 09:11:19

标签: java hibernate jpa one-to-one

我研究了在休眠状态下在两个实体之间创建一对一关系的方法。

我读过的所有例子都使用交叉引用:

https://stackoverflow.com/a/21762450/2674303

http://www.mkyong.com/hibernate/hibernate-one-to-one-relationship-example-annotation/

在这个例子中:

public class User {
    @OneToOne(mappedBy = "user")
    private Status status;
    // ...
}

public class Status {
    @OneToOne
    @JoinColumn(name = "frn_user_id")
    private User user;
    // ...
}

User引用了StatusStatus引用了User

我认为StatusUser一无所知。我希望只有User引用Status

是否有可能或我不明白?

1 个答案:

答案 0 :(得分:2)

您可以针对User尝试此操作(删除对状态中的用户的引用)

public class User {
    @OneToOne
    @JoinColumn(name = "frn_user_id", insertable = false, updateable = false)
    private Status status;
    // ...
}

insertable = false, updateable = false应该指示Hibernate在目标表(状态)中查找frn_user_id