关于延迟加载,立即加载的问题

三个实体都是多对多的关系,而我再设置的时候是立即加载(fetch = FetchType.EAGER)

三个实体(user,juese,xiangmu)
如果我单独查询一个user时,需要的时间很长,如果改为懒惰加(fetch=FetchType.Lazy)
速度很快,但是我们有的地方要的是立即加载,
有什么方法可以加快时间?

Hibernate大部分问题最终还是需要归到数据库sql的问题
我的建议如下
1. 打开hibernate show sql语句
2. 写一个单元测试或者一个单独的载入user对象的例子
3. 查看生成的sql语句,特别是关联查询的sql语句
4. 找DBA优化相关的SQL,例如加索引之类的

另外不知道你的应用是否允许使用缓存,如果可以的话打开二级缓存效果会好很多

在set标签上面把多的一方lazy=false 即可

对于集合尽量使用Lazy,对于对象可以使用EAGER