java web 开发中hibernate延迟加载如何应用

我想请教一下hibernate的延迟加载在webapp应用中能应用在哪些地方。web应用中页面取数据都是一次加载完成。有操作的话都是另外一次请求,如何应用延迟加载。

你举得例子不对,你举得那个例子,直接去数据库取user就行了

延迟加载.lazy=true
例如User和Dept吧,多对一。
from User可以查询User表
页面上${u.dept.name}可以输出部门名称,如果不写u.dept,就不会执行dept的查询。
需要用OpenSessionInView。

延迟加载完全是为了解决效率问题

例如 user class

class的bean里面肯定包含user

就是说你去数据库查数据的时候3班你查出来了,因为你配置了和user的关系,hibernate会帮你查出class下的所有user

可以通过lazy=true配置延迟加载

也就是只有你用到user的时候才会去数据库单独取一次

数据用到的时候,代理才会去真正的发送sql,取数据。

你有这个疑问说明你根本不知道延迟加载的概念,

存起来,何必呢?如果存起来,又使用了延迟加载,那和你直接去数据库取有区别吗?