hibernate可以与缓存配合起来使用的,根据key从缓存中获取数据是快速很方便的。当根据条件检索多个对象时,是每次生成SQL都从数据库条件检索吗?如果不能每次都从数据库检索,从缓存中检索,因为缓存中只有一部分数据,怎么能保证数据是完整的呢?是不是按检索条件保存了临时结果集,如果检索条件相同,则直接用临时的结果集,但是这样需要维护缓存中许多不同条件结果集的一致性,是这样吗?
请教高手!
如果配置了二级cache的话,不会每次都生成。query.List 会先更具条件,分页等查询cache,找不到结果才会发出sql,还有query.iterator,这个每次都会 发起一次select id from ...的 sql,然后再一个个session.Load