java - 如何在查询中停止深度连接 hibernate?

标签 java spring hibernate spring-data

嗨,我有这个 3 类:

public class A{

    @ManyToOne
    @JsonIgnore
    private B b;

        .....
}

public class B{

    @OneToOne
    @JsonIgnore
    private C c;

        .....
}

public class C{
        .....
}

我的 A 类上有一个 findById(id),hibernate 与 B 类进行连接,然后它又执行另一个操作加入C类。

但是我不需要获取C类的字段,所以我可以吗?

谢谢

最佳答案

您可以尝试将 max_fetch_depth hibernate 属性设置为正确的值。

来自 hibernate 文档:

为单端关联(一对一、多对一)设置外连接获取树的最大“深度”。 0 禁用默认外连接获取。 例如建议值介于 0 到 3 之间。

但请记住,这会影响您的整个项目。

关于java - 如何在查询中停止深度连接 hibernate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23009458/

相关文章:

java - servlet 中的图像无法用浏览器打开

java - Spring 框架静态资源设置问题

java - Hibernate @Version - 命中数据库

java - 如何在 QueryDSL 中选择文字

java - MongoDB Java API ISO日期

java - 替换字符串会删除文本中的所有内容

java - Jackson jsonformat 总是在 UTC 中反序列化

java - Spring Boot 应用程序的@PostConstruct 方法中的死锁

java - Reactivestreams Subscriber 不适用于 Spring Reactor Mono。为什么?

hibernate - 尝试使用 Infinispan 作为 JPA/Hibernate 二级缓存提供程序,但没有成功