hibernate的get() load() 和find()区别


如果找不到符合条件的纪录,get()方法将返回null.
如果找不到符合条件的纪录,find()方法将返回null.
如果找不到符合 条件的纪录,load()将会报出ObjectNotFoundEcception.

 

get()方法会忽略二级缓存,若内部缓存没有查询到会到数据库中去查询 .
find()方法会忽略二级缓存,若内部缓存没有查询到会到数据库中去查询 .
load()方 法可以充分利用hibernate的内部缓存和二级缓存中的现有数据 .

get()方法返回真实的实体类 .
find()方法返 回真实的实体类 .
load()方法可以返回实体的代理类 .

 

load()会因所要查询的对象类的映射文件中设置的检索策略,而实现立即检索或延迟检索。
get()方法和find()方法却不受这种控制,它 们总是会执行立即检索。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM