spring3和hibernate4想用HibernateTemplate怎么办

如题所述

hibernate4+spring集成推荐用sessionFactory.getCurrentSession(),如果你自己想用HibernateTemplate,那你照着org.springframework.orm.hibernate3的那个写一个就行了。其实spring对hibernate4的集成方式我觉得更好,完全就是让我们自己更方便的使用泛型DAO等。并且你只要仔细研究HibernateTemplate的方法,你会发现其实HibernateTemplate在很多情况下都是多余的,因为hibernate本身已经做的够好了。希望我的回答对你有用。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-06
在applicationContext中配置HibernateTemplate的bean
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
接着在DAO中就可以使用了

private HibernateTemplate hibernateTemplate;
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}

@Resource(name="hibernateTemplate")
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
public void save(User u) {
hibernateTemplate.save(u);

}本回答被网友采纳

在spring中,使用事务和不用事务的区别
不使用事务时,每次调用hibernateTemplate的方法会立刻进行事务提交.而使用事务后,会在你配置的类的方法执行完成后再进行事务提交,如果一个方法中同时进行了多次的插入、修改或删除操作,会统一的进行提交或回滚,这样可以保证数据操作会同时成功或失败,保证数据的完整性. 参考资料: http:\/\/bbs.mldn.cn 本回答由提问者...

spring集成hibernateTemplate 怎么正确获取session
this.getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException,SQLException { return session.createQuery(hql).list();} });这个方式使用了Session,这个就不需要我们去处理,这样叫给容器管理去了 ...

如何实现 hibernate 不需要托管到spring 可以实现写入
若Spring中不是直接配置数据源,而是使用hibernate.cfg.xml,则是无法若直接this.save(Object),则无法插入数据库中,但是可以保存中缓存中。因为所有的操作都是在事务中执行的,而hibernate.cfg.xml数据源则默认是不是自动提交的。解决的办法如下:可以在hibernate.cfg.xml中填写:true 以下Spring使用hibern...

springboot指定spring版本(springboot版本选择)
3、新建SpringBoot项目,依赖选择JPA(spring-boot-starter-data-jpa)和Web(spring-bootstarter-web)。4、首先新建一个springboot项目,引入web依赖在web依赖中,已经引入了hibernate-validator的支持,所以只需要引入web依赖即可。如果你所使用的版本没有支持,或者不是使用SpringBoot项目,具体的请参考文档...

hibernate的优化问题?
4、 缓存 a) 数据库级缓存:这级缓存是最高效和安全的,但不同的数据库可管理的层次并不一样,比如,在ORACLE中,可以在建表时指定将整个表置于缓存当中。b) SESSION缓存:在一个HIBERNATE SESSION有效,这级缓存的可干预性不强,大多于HIBERNATE自动管理,但它提供清除缓存的方法,这在大批量增加\/更新...

Invocation of init method failed,这个错误怎么解决?
出现这种情况的原因是MyBatis与Spring MVC结合时导致了混乱。可以按一下方法来解决:(1)maven install 一下,看看是否有缺少相关的jar引起的。(2)换一个环境进行尝试。(3)确认所有的环境配好没有,准备的是否充分比如jdk,maven ,jar,配置文件。(4)可以使用@Qualifier注解和@Autowired注解通过...

spring-context-support 依赖的spring-context 版本怎么跟pom的不一样...
4、从Spring 3.2开始不需要定义CGLIB依赖(目前的版本是CGLIB 3.0),现在使用内嵌在spring-core JAR。(更多详细信息可以查看相关[JIRA]https:\/\/jira.springsource.org\/browse\/SPR-9669("JIRA")中的cglib包(net.sf.cglib现在使用org.springframework.cglib替代)。

spring core在哪个jar包
spring-dao.jar 这个jar档案包含Spring DAO、Spring Transaction进行资料访问的所有类。为了使用宣告型事务支援,还需在自己的应用里包含spring-aop.jar。spring-hibernate.jar这个jar档案包含Spring对Hibernate 2及Hibernate 3进行封装的所有类。spring-jdbc.jar 这个jar档案包含对Spring对JDBC资料访问进行封装的...

java用spring mvc + hibernate,实现数据库的增删改查
1)在applicationContext里面配置Hibernate的dataSource和SessionFactory 2)编写Dao的接口是实现类。如果用到Spring的Hibernate的操作模板(HibernateTemplate)可以继承HibernateDaoSupport,实现类注解成@Repository 3)编写Action,然后注解成@Controller,在Action里面需要用@Autowired注入Dao的实例 4)配置application...

spring beans.xml 问题
hibernate的配置文件hibernate.cfg.xml可以交给spring管理,spring的配置文件在tomcat加载项目时从web.xml中读取的 <!-- spring begin --> <filter> <filter-name>encodingFilter<\/filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter<\/filter-class> <init-param> encoding ...

相似回答