- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个已知的问题,即 Hibernate 会加载数据,即使使用注释 fetchtype.lazy(例如此处描述:http://justonjava.blogspot.de/2010/09/lazy-one-to-one-and-one-to-many.html)也是如此。
因此,我将注释 @LazyToOne(LazyToOneOption.NO_PROXY)
添加到我的属性中,并使用 springs loadtimeweaver 启用了字节码 Instrumentation。
但是 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;
}
和
@Entity
public class ChildEntityONE {
@OneToOne(fetch = FetchType.LAZY)
@LazyToOne(LazyToOneOption.NO_PROXY)
private ParentEntity parentEntity ;
}
@Entity
public class ChildEntityTWO {
@OneToOne(fetch = FetchType.LAZY)
@LazyToOne(LazyToOneOption.NO_PROXY)
private ParentEntity parentEntity ;
}
我在我的应用程序类 loadTimeWeaving 中启用了:
@EnableLoadTimeWeaving(aspectjWeaving=EnableLoadTimeWeaving.AspectJWeaving.ENABLED)
public class Application {
...
}
所用框架的版本:
Spring 4.2.3
Spring 启动 1.3.2
hibernate 4.3.11.Final
最佳答案
我发现了我的错误。我忘记在 application.properties 中设置以下属性。
spring.jpa.properties.hibernate.ejb.use_class_enhancer=true
此属性启用 hibernate 中的字节码增强
关于java - LazyToOne 和 Spring LoadTimeWeaver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41125387/
我有一个已知的问题,即 Hibernate 会加载数据,即使使用注释 fetchtype.lazy(例如此处描述:http://justonjava.blogspot.de/2010/09/lazy-
我目前正在使用 Hibernate @LazyToOne 注释。 由于我正在从 Hibernate 切换到 JPA,我想知道 @LazyToOne 在 JPA 中是否可用,或者是否有任何其他注释在 J
我有一个在 JBoss AS 7.2 上运行 Hibernate 4.2.21 的应用程序 我们目前有一些 @OneToOne 关系,由于 known limitations of lazy load
我是一名优秀的程序员,十分优秀!