내 코드에서 두 테이블을 차례로 업데이트하고 있습니다.트랜잭션 관리
업데이트 (table1_details);
업데이트 (table2_details);
따라서 table1에서 업데이트가 실패하면 table2를 업데이트하거나 롤백해야합니다.
이 상황을 처리하는 방법. 나는 거래를 사용해야한다는 것을 안다. 코드로 도움을 줄 수 있습니까? 봄과 최대 절전 모드로 Java를 사용하고 있습니다.
내 코드에서 두 테이블을 차례로 업데이트하고 있습니다.트랜잭션 관리
업데이트 (table1_details);
업데이트 (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 객체에 삽입하기위한 Spring.@Transactional
)에서 Spring 선언적 트랜잭션 관리를 사용하십시오. 이 같은뭔가 :
@Transactional
public void doSomething() {
dao1.foo();
dao2.bar();
}
구성에 대한 자세한 내용은, 봄 문서의 Chapter 9. Transaction management 확인합니다.
어디에 문제가 있습니까? 온라인 문서를 읽을 수 없습니까? 예를 들면 다음과 같습니다. http://static.springsource.org/spring/docs/2.5.x/reference/transaction.html ('spring hibernate transaction'검색에 대한 첫 번째 Google 응답)! – Thierry