如果没有设置lazy load,默认在一对多的时候。多的一方查询会带出1,1的一方查询不会带出多
lazy load设置肯定有效果的,即使是用hql查询也应该是有效果的,这个你自己动手写一下就知道了。
第二个问题:HQL中有主动fetch,肯定是会关联查询的呀,不管你lazy设置成什么样
join 查询的时候,是用以条语句查处所有记录,包括关联表记录,select查出的是n+1条记录,两个都是差不多的,但是如果用了lazy=true,延迟加载的话,select在查询时只会查出主表记录,也就是1,如果其他地方也用到了数据,此时就会自动在执行查询,查出n,可以降低内存消耗 .还有,hibernate是的session是轻量级的,创建和销毁都不花很多资源,查询数据也很快,这里fetch主要起这个作用
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....