hibernate 笔记 9

get()load()区别

? ?

get()如果查不到数据则返回null。但是不会报错, load 如果查询不到数据,则报错ObjectNotFoundException

? ?

查询数据的加载方式不同

? ?

get立即加载,(先到一级/二级)会立即向db发出查询请求(select ...)

? ?

load是懒加载,(先到一级、二级))即使查询到对象,返回的是一个代理对象,如果后面没有使用查询结果,它不会真的向数据库发select ,当程序员使用查询结果的时候才真的发出select

? ?

通过修改配置文件,我们可以取消懒加载

? ?

总之,如果你确定DB中有这个对象就用load(),不确定就用get()(这样效率高)????????

两级缓存

? ?

发一个sql语句

? ?

技术分享

? ?

发两个sql语句

? ?

技术分享

? ?

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。