【问题标题】:@EntityGraph annotation doesn't work properly?@EntityGraph 注释不能正常工作?
【发布时间】:2021-08-01 01:31:01
【问题描述】:

我需要通过遵循不同的 EntityGraphs 注释来为同一个 findAll() 方法实现两个不同的实现。通过引用另一个 StackOverflow 帖子,我找到了一种使用不同 EntityGrpahs 实现相同 findAll() 方法的方法。但是,当我使用该帖子中提到的默认方法时,我没有得到预期的行为。它忽略 @EntityGraph 注释并按照默认行为返回惰性集合。 请提供此问题的修复程序或说明我可以实施以解决此问题的任何其他更好的解决方案。

public interface BspCategoryRepository extends JpaRepository<DbpMetaBspCategory, String> {

    @EntityGraph(attributePaths = {"dbpBspMetaCollection","dbpBspMetaCollection.dbpBspMetaCustomFieldCollection","dbpBspMetaCollection.bspType","dbpBspMetaCollection.bankCode","dbpBspMetaCollection.dbpBspMetaCustomFieldCollection.fieldType"}, type = EntityGraph.EntityGraphType.FETCH)

    default List<DbpMetaBspCategory> findAllCategories(){
      return findAll();
    }


}

请参考Femi回答的帖子中的第二个答案。 References

【问题讨论】:

    标签: spring-boot hibernate jpa spring-data-jpa entitygraph


    【解决方案1】:

    Spring Data 根本无法知道这个注解,因为该方法不是抽象的。您应该能够像这样声明该方法:

    @EntityGraph(attributePaths = {"dbpBspMetaCollection","dbpBspMetaCollection.dbpBspMetaCustomFieldCollection","dbpBspMetaCollection.bspType","dbpBspMetaCollection.bankCode","dbpBspMetaCollection.dbpBspMetaCustomFieldCollection.fieldType"}, type = EntityGraph.EntityGraphType.FETCH)
    List<DbpMetaBspCategory> findAllCategories();
    

    【讨论】:

      猜你喜欢
      • 2020-02-08
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      相关资源
      最近更新 更多