各位大侠:
首先我先申明一下,在我系统里最小的改动是加一个spring的编程事务管理,但是碰到问题,代码如下: PlatformTransactionManager tm=(PlatformTransactionManager) ServiceUtil.getBean("transactionManager");
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
PlatformTransactionManager status = tm.getTransaction(def);
SessionFactory sessionFactory=(SessionFactory) ServiceUtil.getBean("sessionFactory");
Session session = sessionFactory.openSession();
....
session.save(obj);
tm.commit(status);
applicationContext.xml配置如下:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="myDataSource" />
</property>
<property name="configLocation">
<value>classpath:hib.cfg.xml</value>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean> 最终事务没有成功提交,请高手指点。
首先我先申明一下,在我系统里最小的改动是加一个spring的编程事务管理,但是碰到问题,代码如下: PlatformTransactionManager tm=(PlatformTransactionManager) ServiceUtil.getBean("transactionManager");
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
PlatformTransactionManager status = tm.getTransaction(def);
SessionFactory sessionFactory=(SessionFactory) ServiceUtil.getBean("sessionFactory");
Session session = sessionFactory.openSession();
....
session.save(obj);
tm.commit(status);
applicationContext.xml配置如下:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="myDataSource" />
</property>
<property name="configLocation">
<value>classpath:hib.cfg.xml</value>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean> 最终事务没有成功提交,请高手指点。
解决方案 »
- 求教个Spring2+struts2+hibernate3框架下问题
- 请教struts 1.2 上传文件问题
- java 如何实现excel中数据导入到数据库?
- 显示页面用星号
- struts2 action 不同浏览器执行次数不同,超级奇怪~~~
- 关于<logic:iterate>标签的使用.
- J2ee的高手们帮忙看一下,如何设定Jboss的默认网站的根页面? WS用的Jetty
- static public 为什么一定要加static才可以正常运行
- 再再散分:本人对pb中的datawindow情有独钟,寻求sybase datawindow java控件
- xml 在描述数据库的数据结构和数据流有什么作用呢
- jsf能像struts那样从一个action跳转到另一个action吗?如果能,如何实现啊
- 有关对象的值的问题
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="modify*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
<!-- 那些类的哪些方法参与事务 -->
<aop:config>
<aop:pointcut id="ibizMethod" expression="execution(* my.ibiz.*.*.*(..))" />
<aop:advisor pointcut-ref="ibizMethod" advice-ref="txAdvice" />
</aop:config>
你应该没有配置上面的一些东东, 至少你的配置里面没有 事务作用的类或者方法,也就是说你只是配置一个事务管理,但是来管理谁没有指明。
opensession-> tm.getTransaction(def) -> session.save -> tm.commit