在我的代码中,我一个接一个地更新两个表。交易管理
update(table1_details);
update(table2_details);
因此,如果更新在table1中失败,table2不应该更新或应该回滚。
如何处理这种情况。我知道我必须使用交易。有人可以帮助代码! 我使用Java与春天和冬眠。
在我的代码中,我一个接一个地更新两个表。交易管理
update(table1_details);
update(table2_details);
因此,如果更新在table1中失败,table2不应该更新或应该回滚。
如何处理这种情况。我知道我必须使用交易。有人可以帮助代码! 我使用Java与春天和冬眠。
我不记得正确的API,但这样的事情:
Transaction tx = em.getTransaction();
tx.begin();
try {
update1(); update2();
}
catch(Exception e) {
failed = true
}
finally {
if(!failed) tx.commit();
else tx.rollbacl();
}
问题有些宽泛,并有实现这一几种方法,但我想:
SessionFactory
注入到DAO对象中。@Transactional
)。事情是这样的:
@Transactional
public void doSomething() {
dao1.foo();
dao2.bar();
}
有关配置的详细信息,请查看Spring文档的Chapter 9. Transaction management。
问题在哪里?你不能阅读在线文档吗?例如:http://static.springsource.org/spring/docs/2.5.x/reference/transaction.html(第一个谷歌回答'春季休眠交易'搜索)! – Thierry 2010-04-14 19:50:40