我想使用 Hibernate 注释创建惰性一对一双向“可选”映射。我知道@MappedBy
的正常用法和@JoinColumn
导致每次都会触发 N+1 个查询。
有什么办法可以避免这种情况吗?不仅在运行时,而且在POJO
等级。我正在使用Hibernate 4.3
,所以不能考虑字节码增强。
此外,如果没有出路,是否可以在单向映射上应用标准。例如我有A <-> B,
和C -> A
作为映射。我正在搜索 B
。是否可以对 C
应用限制当C
A
显然是单向的?
最佳答案
@OneToOne
注释在 hibernate 状态下无法按需要工作。请考虑使用 @LazyToOne
或尝试使用 @OneToMany
,例如 @OneToOne
。您也可以尝试@PrimaryKeyJoinColumn
。
附: JPA 实现中不存在 @LazyToOne
注释,您应该在那里使用 @OneToOne(fetch = FetchType.LAZY, optional = false)
关于java - 使用 Hibernate 注释的惰性一对一可选双向映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51910099/