现在的位置: 首页 > 综合 > 正文

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

2013年03月28日 ⁄ 综合 ⁄ 共 348字 ⁄ 字号 评论关闭

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

 

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

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

 

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

抱歉!评论已关闭.