我是spring2.5.6+hibernte3.3,没有用spring 的hibernateTemplate和HibernateDaoSupport,只是用了它的AnnotationSessionFactoryBean,添删查都没有问题,只要一更新就无效,控制台也不报错.
我用
依然是无效,换成
也是一样,
applicationContext.xml里加上
也不行,
最后我用加上
在save方法前加@Transactional
就可以更新了,记得以前不用配事务管理器的时候也是可以的啊,到底怎么回事儿???
我用
Transaction tx = ud.getSession().beginTransaction();
Session session = ud.getSession();
u.setName("aqertqwe");
tx.commit();
session.close();
依然是无效,换成
getSession().saveOrUpdate(u);也是一样,
applicationContext.xml里加上
<prop key="hibernate.connection.autocommit">true</prop>也不行,
最后我用加上
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="ds" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager"
mode="proxy" />
在save方法前加@Transactional
就可以更新了,记得以前不用配事务管理器的时候也是可以的啊,到底怎么回事儿???
博主使用Spring 2.5.6和Hibernate 3.3进行项目开发,在不使用spring的hibernateTemplate和HibernateDaoSupport的情况下,遇到了更新操作无效的问题。通过配置事务管理器并在方法上添加@Transactional注解解决了该问题。
268

被折叠的 条评论
为什么被折叠?



