我有一个使用@Transactional注解的方法。我从我的Oracle数据库中检索一个对象,更改一个字段,然后从方法返回。我忘记保存对象,但发现数据库仍然得到了更新。
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 被持久化到数据库中?