Hibernate缓存

  1. 报告:java.lang.UnsupportedOperationException: Can't write to a readonly object  异常,应是缓存的配置问题,将<cache usage="read-only"/>  配置去掉,或者改为read-write,由于session.get获取的数据放置缓存中,设置影响其修改数据;
  2. 对于hql语句查询,是不经过缓存的,而通过get和load方法可以查询一级缓存和二级缓存,既然用了框架,就不要在意查询单个属性,直接查询整个对象,虽然会造成一定的资源浪费,但是不会太大,并且通过get和load方法均可以查询缓存;
  3. iterateN+1次查询,即要是查询n条数据,则进行n+1次查询,第一次查出所有符合条件的id,然后根据id查出所有的数据,因此,iterate如果有缓存的话(一级缓存和二级缓存),效率还可以,但是如果没有配置缓存,则其效率是极低的,要注意;





原文地址:https://www.cnblogs.com/zmpandzmp/p/3648776.html