2011-09-17 28 views
0

我只想问一下,如何证明hibernate正在做延迟加载。 我有这样的代码:你能证明Hibernate懒惰加载?

enter image description here

我尝试在休眠(JPA),使用此代码测试延迟加载:

enter image description here

其实,我不惯于加载“alamat”属性,因为这是一个TEXT。但是,当我尝试调试代码,我得到的输出轨迹是这样的:

enter image description here

休眠还是选择alamat列,并在调试veriable,我发现,Hibernate是真的负荷alamat柱:

enter image description here

回答

3

Hibernate的手动调:

使财产水平延迟抓取,你的类必须 仪表:将字节码添加到原始类中以启用此类功能,请参阅Hibernate参考文档。如果 您的课程没有安装,则属性级懒惰加载为 将被忽略。

如何实现这一点在本手册的chapter 20.1.8. Using lazy property fetching中进行了说明。它需要一个特殊的构建过程。

1

您必须启用字节码测试激活延迟加载特性。如果你没有启用字节码测试,Hibernate会忽略有关延迟加载的所有属性(see the docs