`
- 浏览:
279420 次
-
spring+hibernate 的hibernateTemplate 的save不能提交到数据库的问题
xml 代码
- 我的配置文件和Dao如下,问题是save方法只能提交到缓存,并没有提交到数据库,找了很多资料都不能解决,只能放弃这种方法,挺不甘心的,网上很多人说是这样做,可是还是不行,希望能找到症结: [code]
-
- <bean id="SessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" singleton="true">
- <property name="hibernateProperties">
- <props>
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialectprop>
- <prop key="hibernate.show_sql">trueprop>
- <prop key="hibernate.cglib.use_reflection_optimizer">trueprop>
- <prop key="hibernate.proxool.xml">Proxool.xmlprop>
- <prop key="hibernate.proxool.pool_alias">DBPoolprop>
- props>
- property>
- <property name="mappingResources">
- <list>
- <value>hibernatePojo/Worker.hbm.xmlvalue>
- list>
- property>
- bean>
-
- <bean id="TransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory">
- <ref bean="SessionFactory"/>
- property>
- bean>
-
- <bean id="WorkerDAO" class="hibernateDaoImpl.WorkerDAOImpl">
- <property name="sessionFactory">
- <ref bean="SessionFactory"/>
- property>
- bean>
-
- <bean id="WorkerDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
- <property name="transactionManager">
- <ref bean="TransactionManager"/>
- property>
- <property name="proxyInterfaces">
- <list>
- <value>hibernateDaoInterface.WorkerDAOvalue>
- list>
- property>
- <property name="target">
- <ref bean="WorkerDAO"/>
- property>
- <property name="transactionAttributes">
- <props>
- <prop key="save*">PROPAGATION_REQUIREDprop>
- props>
- property>
- bean>
-
- 业务层
- <bean id="WorkerLoginCheck" class="serviceImpl.WorkerLoginCheckImpl">
- <property name="workerDAO">
- <ref bean="WorkerDAOProxy"/>
- property>
- bean>
java 代码
DAO代码:
- public class DAOImpl extends HibernateDaoSupport implements DAO {
- public boolean insertOne(Object entity) {
- try {
- getHibernateTemplate().save(entity);
- return true;
- } catch (DataAccessException e) {
- e.printStackTrace();
- return false;
- }
-
- }
-
xml 代码
- xml 代码
- 问题解决,问题在于事务的配置不对,事务应该配置在业务层而不是持久层,配在持久层的方法上就没有意义了
- 持久层配置文件:
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory">
- <ref bean="SessionFactory" />
- property>
- bean>
- <bean id="baseTransactionProxy"
- class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
- abstract="true">
- <property name="transactionManager">
- <ref bean="transactionManager" />
- property>
- <property name="transactionAttributes">
- <props>
- <prop key="cha*">PROPAGATION_REQUIREDprop>
- <prop key="update*">PROPAGATION_REQUIREDprop>
- <prop key="del*">PROPAGATION_REQUIREDprop>
- <prop key="get*">PROPAGATION_REQUIRED,readOnlyprop>
- props>
- property>
- bean>
- <bean id="WorkerDAO" class="hibernateDaoImpl.WorkerDAOImpl">
- <property name="sessionFactory">
- <ref bean="SessionFactory" />
- property>
- bean>
- 业务层配置:
- <bean id="WorkerLoginCheck" parent="baseTransactionProxy">
- <property name="target">
- <ref local="WorkerLoginCheckTarget" />
- property>
- bean>
- <bean id="WorkerLoginCheckTarget" class="serviceImpl.WorkerLoginCheckImpl">
- <property name="workerDAO">
- <ref bean="WorkerDAO" />
- property>
- bean>
- 实现方法:
- serviceImpl.WorkerLoginCheckImpl中有chaWorker方法,调用WorkerDAO的insertOne方法
- 很久了,一直没时间尝试,拖到了今天,希望能对大家有所帮助
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Spring+hibernate整合源代码 结束Sping+hibernate 的使用方法 包括演示示例
Spring+Hibernate实现增删改查的两种方法,HibernateTemplate实现和HibernateDaoSupport实现
本类封装了Spring提供的HibernateTemplate,从提供了对数据的各种操作,因此,本类尤其适合用Spring + Hibernate整合后进行系统开 发时使用。 AnyFoAction功能概述 AnyFoDao中的那个类,提供多个方法来对...
Spring整合hibernate(2)之基于HibernateTemplate的整合,jar需要自己添加!
Spring和Hibernate源码下载 Spring_Spring_Hibernate_HibernateTemplate
Spring_2000_Spring_Hibernate_HibernateTemplate,Spring_2000_Spring_Hibernate_HibernateTemplate
1、struts1.2+spring 2.0+hibernate3.2 2、struts的动作交由spring来管理,hibernate的配置集中在spring中配置。 3、增加了声明式事务处理,加强了hibernateTemplate的简单事务处理。 4、完整的Myeclipse的工程文件...
spring 没使用注解,全配置文件 hibernateTemplate,jdbcTemplate hibernate ORM
Spring通过ApplicationContext管理SessionFactory,可以不使用Hibernate应用必需的hibernate.cfg.xml。 Spring配置管理SessionFactory与数据库的连接,在实际的应用中,数据源会采用依赖注入的方式,传递给...
十分抱歉,上次整合的是一个半成品,spring3.1和hibernate4.1目前为止我测试了,整合过程中有很多问题!关键问题有几个,第一个HibernateDaoSupport这个没有了,在使用hibernateTemplate的时候,报错误:java.lang....
application.xml配置 ... <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory"></property> </beans>
spring2.5.6与hibernate3.3整合示例,导入即可运行。运用注解、hibernateTemplate、声明式事务管理。包括所有需要jar包。
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <!-- Spring AOP ...
spring和hibernate整合示例,以一张表的业务操作,来简要说明hibernate和spring的整合,说明spring对HibernateTemplate和调用
以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。 工程...
Spring控制Hibernate中的事务传播特性与隔离级别操作,通过利用spring和Hibernate的两个HibernateTemplate 和 jdbcTemplate类,实现数据的交互。
本文主要讲解如何在Spring4.0.4下整合Hibernate4.3.6; 主要介绍了如下内容: 项目结构的规划; Spring MVC的配置和使用; Spring下整合Hibernate的具体过程;...jdbcTemplate和HibernateTemplate两种方式操作数据库;
1 Spring基本特征 6 2 Spring的组成 6 ...6 Struts2+spring+hibernate 141 6.1 需要添加的jar包 141 6.2 Spring融合web服务器 141 6.3 struts.xml文件 143 6.4 OpenInSessionView 143 拓展: 144 实例: 146