永发信息网

hibernate的 lazy 和 fetch 一般怎么配置?

答案:1  悬赏:40  手机版
解决时间 2021-11-25 17:31
hibernate的 lazy 和 fetch 一般怎么配置?
最佳答案
fetch 和 lazy 配置用于数据的查询
lazy 参数值常见有 false 和 true,Hibernate3 映射文件中默认lazy = true ;
fetch 指定了关联对象抓取的方式,参数值常见是select和join,默认是select, select方式先查询主对象,再根据关联外键,每一个对象发一个select查询,获取关联的对象,形成了n+1次查询;而join方式,是left outer join查询,主对象和关联对象用一句外键关联的sql同时查询出来,不会形成多次查询。
在映射文件中,不同的组合会使用不同的查询:
1、lazy=true fetch = select ,使用延迟策略,开始只查询出主对象,关联对象不会查询,只有当用到的时候才会发出sql语句去查询 ;
2、lazy=false fetch = select ,没有用延迟策略,同时查询出主对象和关联对象,产生1+n条sql.
3、lazy=true或lazy=false fetch = join,延迟都不会作用,因为采用的是外连接查询,同时把主对象和关联对象都查询出来了.
配置还是缺乏灵活性的,开发中常会有不同的需求,所以在配置中选择默认值,在具体业务中来指定策略。再者对数据库的操作都是使用SQL来执行的,掌握了sql执行性能反过来看这些配置也许很容易了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
哪两个数相乘等于150相加减等于24
思茅佳华灯饰地址好找么,我有些事要过去,
煤矿采制化如何管理??
为什么二手日产GTR这么多?车容易坏?
冷柜的玻功推拉门为什么会爆碎
合川市龙凤中学地址好找么,我有些事要过去,
千克,小亮和小强共重69千克.三人各重多少千
没有胶水怎样做史莱姆
上海佩儿汽车零部件有限公司怎么样?
这字好不好看?
急求水稳搅拌站平面布置图
童装尺码74/80是多少
芜湖火车站站东广场到芜湖火车站怎么走
列夫·托尔斯泰曾经说过:“理想是指路明灯,
英语。be mean with和be mean about有啥区别
推荐资讯
led汽车灯h1 h2 h3 h5 h6 h7 h8 h9 10 h11什
中介私自出租我房,我、该咋办
一根铁丝围成一个长方形,长是15厘米,宽是3
必修三语文文言文 五人墓碑记中的文言虚词
科学:依靠昆虫传播的花叫(),如(),()
65年66年全国粮票价格?
怎样才能使睡眠充足
徒步能紧致屁股上的肉吗
卖方按合同约定双倍返还定金,中介费怎么处
4.5×2×5简便方法计
09年豪沃336潍柴发动机
打儿子不小心打到宝宝小弟弟,怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?