java – 事务性保存而不调用update方法
我有一个使用@Transactional注释的方法.我从Oracle DB中检索一个对象,更改一个字段,然后从该方法返回.我忘了保存对象,但发现无论如何都要更新数据库.
的applicationContext <tx:annotation-driven /> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> 我的方法 @Transactional public void myMethod(long id) { MyObject myObj = dao.getMstAttributeById(id); myObj.setName("new name"); //dao.update(myObj); } 我的问题是为什么MyObject被持久化到数据库? 解决方法
因为hibernate会自动检测对持久性实体所做的更改并相应地更新数据库.这种行为记录在
chapter 11的hibernate参考手册中.相关部分如下:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |