java - spring boot jpa ManyToOne(column ="fatherId")加入同一实体以递归方式工作,直到fatherId为null

标签 java hibernate spring-data-jpa

Entity{
    String code;
    String parentCode;
...
    @ManyToOne
    @JoinColumn(name="parentCode",referencedColumnName="code")
    Entity parentEntity;
}

我的实体类是这样的。我想要做的是使用 findAll() 获取实体列表,每个实体都有自己的直接父级。但是 spring jpa 将获取父级的父级直到 root ,我需要避免这种情况。 谢谢!

最佳答案

由于 @ManyToOne 关系的默认获取类型是 FetchType.EAGER 我认为您只需明确添加一个获取类型作为 LAZY :

Entity{
    String code;
    String parentCode;
...
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name="parentCode",referencedColumnName="code")
    Entity parentEntity;
}

关于java - spring boot jpa ManyToOne(column ="fatherId")加入同一实体以递归方式工作,直到fatherId为null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53080376/

相关文章:

java - 当文本相同时,如何强制更新 TableCellRenderer 上的工具提示?

Java - 缓存/资源框架

hibernate - java.security.PrivilegedActionException : java. lang.NoSuchMethodException:

hibernate - 在排序闭包中,如何最后获取空值?

spring - 在 Spring/Hibernate 中删除或更新之前验证对象是否存在

java - Spring MockMVC测试中,如何链式访问多个网页?

java - 为什么 SimpleDateFormat 不能在 Mac OS X 10.6.5 上运行?

spring - Postgres 和 Spring Data JPA : operator does not exist: bytea = bigint

java - 从单个数据库中通过 id AND St​​ring 获取数据

java - 如何在 Spring Data JPA 中禁用乐观锁定