开发者社区> 问答> 正文

hibernateTemplate在项目中是单例还是多例?

开始把hibernateTemplate在Spring配置文件中配置成单例,但是发现呢访问数据库表时有的表要使用缓存,有的不需要,所以经常在方法里要写

hibernateTemplate.setCacheQueries(true);

hibernateTemplate.setCacheQueries(false);
后来我干脆配置两个hibernateTemplate,一个是hibernateTemplate,另一个是hibernateTemplateUseCache。这样在不同DAO注入不同的实例。就不需要老是写这两句垃圾代码了。
后来呢发现又要根据不同的对象来设置QueryCacheRegion,所以呢我想是不是该把hibernateTemplate配置成多例?不知各位是如何配置的。

展开
收起
a123456678 2016-03-13 15:41:58 2598 0
1 条回答
写回答
取消 提交回答
  • <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
     
    <bean id="hibernateTemplateUseCache" class="org.springframework.orm.hibernate3.HibernateTemplate" scope="prototype">
        <property name="sessionFactory" ref="sessionFactory"></property>
        <property name="cacheQueries" value="true"></property>
    </bean>
    然后在注入DAO是这样搞
    
    @Resource
    public void setHibernateTemplateUseCache(HibernateTemplate hibernateTemplateUseCache) {
        this.hibernateTemplateUseCache = hibernateTemplateUseCache;
        this.hibernateTemplateUseCache.setQueryCacheRegion("User");
    }
    2019-07-17 19:02:41
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载