跳到主要内容

配置了lazy=true一定会懒加载吗?

参考答案:

配置了lazy="true"并不一定意味着一定会进行懒加载,这取决于具体的实现和上下文环境。

在Hibernate中,为了使lazy="true"生效,你还需要在配置文件中将hibernate.enable_lazy_load_no_trans设置为true

此外,懒加载与数据库中获取对象的方式也有关。在Hibernate中,有两种方式可以从数据库中得到一个对象:session.get()方法和session.load()方法。session.load()方法支持懒加载机制,而session.get()方法则不支持。

因此,即使配置了lazy="true",如果使用了不支持懒加载的session.get()方法,那么懒加载也不会生效。

总的来说,是否进行懒加载取决于多个因素,包括配置、实现和上下文环境。