Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate EntityGraph未获取动态提供的关系_Hibernate_Spring Data Jpa_Entitygraph - Fatal编程技术网

Hibernate EntityGraph未获取动态提供的关系

Hibernate EntityGraph未获取动态提供的关系,hibernate,spring-data-jpa,entitygraph,Hibernate,Spring Data Jpa,Entitygraph,我试图使用spring JPA repository和entity graph加载实体的惰性属性,EntityGraph不是动态获取提供的关系,而是根据entity中为该属性定义的静态获取类型获取属性 @Repository @Transactional public interface SampleRepository extends JpaRepository<Sample,Long> { @EntityGraph(attributePaths = {"one

我试图使用spring JPA repository和entity graph加载实体的惰性属性,EntityGraph不是动态获取提供的关系,而是根据entity中为该属性定义的静态获取类型获取属性

@Repository
@Transactional
public interface SampleRepository extends JpaRepository<Sample,Long> {

    @EntityGraph(attributePaths = {"oneToOneLazyRelation1","oneToOneLazyRelation2"})
    List<Sample> findAllByCustomer(Customer customer);

}

@Entity
public class Sample {

    @id
    private Long id;

    @OneToOne(cascade = CascadeType.ALL ,fetch=FetchType.LAZY)
    @LazyToOne(value = LazyToOneOption.NO_PROXY)
    @LazyGroup("oneToOneLazyRelation1")
    private OneToOneLazyRelation1 oneToOneLazyRelation1;
    
    @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @LazyToOne(value = LazyToOneOption.NO_PROXY)
    @LazyGroup("oneToOneLazyRelation2")
    private OneToOneLazyRelation2 oneToOneLazyRelation2;
}

@存储库
@交易的
公共接口采样器位置扩展了JPA位置{
@EntityGraph(AttributePath={“oneToOneLazyRelation1”,“oneToOneLazyRelation2})
列出findAllByCustomer(客户);
}
@实体
公共类样本{
@身份证
私人长id;
@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@LazyToOne(值=LazyToOneOption.NO_PROXY)
@懒散集团(“oneToOneLazyRelation1”)
私人OneToNelazyRelation1 OneToNelazyRelation1;
@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@LazyToOne(值=LazyToOneOption.NO_PROXY)
@懒散集团(“oneToOneLazyRelation2”)
私人OneToNelazyRelation2 OneToNelazyRelation2;
}

使用hibernate-5.2.17.Final,Spring-4.3.20.RELEASE,Spring数据JPA-1.11.22.RELEASE

hibernate用户指南说明

但是,如果您确实需要使用双向关联,并希望确保始终以延迟方式获取,则需要启用延迟状态初始化字节码增强功能,并使用@LazyToOne注释。”

另见


因此,上面的注释LazyToOne导致了这样一个事实,即关联总是以惰性方式加载。

Hibernate用户指南指出

但是,如果您确实需要使用双向关联,并希望确保始终以延迟方式获取,则需要启用延迟状态初始化字节码增强功能,并使用@LazyToOne注释。”

另见


因此,上面的注释LazyToOne导致了关联总是延迟加载的事实。

请显示当前结果与下一个预期结果请显示当前结果与下一个预期结果虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能会无效。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面发生更改,则仅链接的答案可能无效。