java - 使用 Hibernate 注释的惰性一对一可选双向映射

标签 java hibernate

我想使用 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/

相关文章:

java - 单个 java 代码中的多个 JFrame

java - html 中的变量属性名称 :text tag

java - 为什么它不显示我的按钮?

使用 WildFly 8 hibernate 空间和 PostGIS

java - Hibernate:无法级联删除子级的单向父级

java - 程序如何知道自己的 git SHA?

java - Spring Boot 和 Hibernate 问题

java - 在 Hibernate 的@Formula 中使用 NATURAL JOIN

java.lang.NumberFormatException : For input string: “Male” 异常

hibernate - 如何使 Hibernate 应用程序独立于数据库?