我正在使用Hibernate 4.2并构建时间字节码工具来解决出现在@OneToOne关系上的懒惰问题和@Lob(https://developer.jboss.org/wiki/SomeExplanationsOnLazyLoadingone- to-one)
@OneToOne
@Lob
您知道之间有什么区别吗?
Hibernate字节码检测工具:http : //docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch20.html#performance- fetching-lazyproperties
Hibernate字节码增强功能:http : //docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch20.html#bytecode- enhancement
因为在hibernate文档中是这样写的:
EnhancementTask旨在替代InstrumentTask。此外,它也与InstrumentTask不兼容,因此任何现有的已检测类都需要再次从源构建。
我可以通过使用字节码检测解决问题,但不能通过使用字节码增强来解决。你知道为什么吗 ?
也许这个新功能没有得到充分开发?
感谢您的帮助。
答案是字节码增强的完成方式。让我们看看两种情况下会发生什么
和
在字节码增强的大多数情况下,它们是在后期编译时完成的。如果您的Hibernate字节码增强就是这种情况,那么是的,更改代码的显而易见的选择是字节码检测。