Glassfish 4.1 응용 프로그램 서버에서 JTA1.2 @Transactiona
l 주석을 테스트 할 때 문제가 있습니다. 나는이 빈의() 메소드를 실행 실행하는 경우 : 내가 예상 오류 얻을@ Transactional rollback transaction
@Named
@RequestScoped
public class IndexController {
@Resource(name = "ds")
private DataSource ds;
@Transactional
public void execute() throws SQLException, SystemException {
try (Connection con = ds.getConnection();) {
try (PreparedStatement ps = con.prepareStatement(
"INSERT INTO test(id) VALUES(1)"
);) {
ps.executeUpdate();
throw new IllegalArgumentException();
}
}
}
}
:
Caused by: javax.transaction.RollbackException: Transaction marked for rollback.
을하지만 SELECT 문을 실행할 때 :
SELECT * FROM test;
을 내가 그 행이 있었다 참조 삽입. 뭐가 문제 야?
이것을 확인하셨습니까? http://stackoverflow.com/questions/16301315/spring-transactional-and-jdbc-autocommit – Multisync