getHibernateTemplate().find()这个方法优化有啥好方法

解决方案 »

  1.   

    怎么个优化法?你是想继续对find()方法封装还是对数据库的查询进行优化?
    如果对查询进行优化的话建议使用第三方缓存(如果数据频繁修改就不要用了)
      

  2.   

    楼主是想进行哪方面的优化?批量查询更新导入数据的话,不推荐使用Hibernate
    以为它们会使用缓存
      

  3.   

    见 夏新 《深入浅出 Hibernate》使用 session.iterator(hql,*******),等价于 session.createQuery().iterator()方法。find 其实是无法利用 hibernate 最重要的缓存机制的。find方法查询出来的记录对缓存只写不读。而 sesssion.iterator方法可以充分利用缓存。问题:session.itreator第一次是一个 N+1次的查询。开始会较慢。内存占用会较大,可以配合 evict方法使用,避免内存溢出。不过,真正对效能要求高的话,最好的办法还是 jdbc和存储过程。