2

在浏览 Hibernate 3.x 文档时,我了解到我们可以为我们的 POJO 声明一个具有私有可见性的无参数构造函数,但文档说它有限制:

无参数构造函数是所有持久类的要求;Hibernate 必须使用 Java 反射为您创建对象。构造函数可以是私有的,但是运行时代理生成和高效的数据检索需要包或公共可见性,而无需字节码检测。

我是 Hibernate 的新手,并试图了解何时使用运行时代理、何时使用字节码以及它在 Hibernate 中是如何工作的。还有什么是字节码工具以及它在 Hibernate 中的使用方式。

4

1 回答 1

3

Hibernate 在集合或关联的延迟初始化期间使用运行时代理来提高性能。您可以在此处阅读各种获取策略及其影响

字节码检测是另一种允许您在加载类时修改字节码(即类文件)的技术。此链接可能会有所帮助。

于 2013-10-21T20:27:24.483 回答