了解hibernate的第一级缓存

时间:2009-12-01 09:07:57

标签: java hibernate caching

session.open
insertIntoTODB()
getList()
session.close

session.open()
getList();
sesson.close()

第一级缓存仅限于会话打开和关闭以及第二次后续会话打开时,getList()将从DB而不是缓存中获取?

2 个答案:

答案 0 :(得分:3)

是。第一级缓存仅用于会话。第二个getList()调用将转到数据库。

编辑:第二个getList()调用将在没有二级缓存的情况下进入数据库,mR_fr0g在他的回答中也注明了这一点。

答案 1 :(得分:3)

第一级缓存是会话范围。第二个getList()仅在没有second level cache的情况下才会进入数据库。二级缓存是会话工厂作用域。