Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.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
Java 懒洋洋和弹簧负荷时间织工_Java_Spring_Hibernate_Spring Boot_Load Time Weaving - Fatal编程技术网

Java 懒洋洋和弹簧负荷时间织工

Java 懒洋洋和弹簧负荷时间织工,java,spring,hibernate,spring-boot,load-time-weaving,Java,Spring,Hibernate,Spring Boot,Load Time Weaving,我有一个已知的问题,即Hibernate即使使用注释fetchtype.lazy也会加载数据 因此,我将注释@LazyToOne(LazyToOneOption.NO_PROXY)添加到我的属性中,并使用springs loadtimeweaver启用字节码检测。但是hibernate仍然急切地加载我的属性 我已经通过编写自己的代码测试了loadtimeweaver,它可以正常工作。有人知道我错过了什么吗 下面介绍我的代码的结构 我有一些实体具有双重关系,比如: @Entity public c

我有一个已知的问题,即Hibernate即使使用注释fetchtype.lazy也会加载数据

因此,我将注释
@LazyToOne(LazyToOneOption.NO_PROXY)
添加到我的属性中,并使用springs loadtimeweaver启用字节码检测。
但是hibernate仍然急切地加载我的属性

我已经通过编写自己的代码测试了loadtimeweaver,它可以正常工作。有人知道我错过了什么吗

下面介绍我的代码的结构

我有一些实体具有双重关系,比如:

@Entity
public class ParentEntity {

  @OneToOne(fetch = FetchType.LAZY)
  @LazyToOne(LazyToOneOption.NO_PROXY)
  private ChildEntityONE childentityOne;


  @OneToOne(fetch = FetchType.LAZY)
  @LazyToOne(LazyToOneOption.NO_PROXY)
  private ChildEntityTWO childentityTwo;
}

我在应用程序类loadTimeWeaving中启用了:

@EnableLoadTimeWeaving(aspectjWeaving=EnableLoadTimeWeaving.AspectJWeaving.ENABLED)
public class Application {
...
}
所用框架的版本:

弹簧4.2.3
弹簧靴1.3.2

Hibernate 4.3.11.Final

我发现了我的错误。我忘记在application.properties中设置以下属性

spring.jpa.properties.hibernate.ejb.use_class_enhancer=true

此属性在hibernate中启用字节码增强功能

发现此帖子非常有用,感谢此链接。这有助于理解hibernate的延迟加载,但不能解决我的问题。。
spring.jpa.properties.hibernate.ejb.use_class_enhancer=true