我研究了在休眠状态下在两个实体之间创建一对一关系的方法。
我读过的所有例子都使用交叉引用:
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
引用了Status
,Status
引用了User
我认为Status
对User
一无所知。我希望只有User
引用Status
。
是否有可能或我不明白?
答案 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
。