이 Hibernate 샘플에 대해 질문이 있습니다. JPA로 Hibernate 문서 또는 Manning Persistence에서 응답을 찾지 못했습니다. 일반 JDBC를 사용할 때 누군가가 어떻게되는지 설명 할 수 있습니다.트랜잭션 롤백시 예외가 발생했습니다.
Session session = null;
Transaction tx = null;
try {
session = sessionFactory.openSession();
tx = session.beginTransaction();
// Transaction actions
tx.commit();
}
catch (RuntimeException ex) {
try {
tx.rollback();
}
catch (RuntimeException rbEx) {
log.error("Couldn’t roll back transaction", rbEx);
}
throw ex;
}
finally {
session.close();
}
제 질문은 트랜잭션 롤백 메소드가 예외를 throw하면 어떻게됩니까? 일부 거래 데이터가 데이터베이스에 저장됩니까? 이 예외는 어떻게 처리 할 수 있습니까?
는 잘 모르겠어요하지만 당신은 다음 세션을 재개하지 않고와/일부 데이터를 가져 오기 위해 시도 롤백하지 않습니다 커밋하기 전에 예외를 발생, 일부 modificatins을 할 수 있습니다. 세션을 다시 열면 수정 사항을 볼 수 없습니다. – smajlo