Spring

Hibernate : Hibernate 5.4.x 버전에서이 SQL 쿼리 "alter session enable parallel dml"을 실행하는 데 오류가 발생했습니다.

기록만이살길 2021. 3. 6. 07:03
반응형

Hibernate : Hibernate 5.4.x 버전에서이 SQL 쿼리 "alter session enable parallel dml"을 실행하는 데 오류가 발생했습니다.

1. 질문(문제점):

내 응용 프로그램에서 Hibernate 4.x 버전을 Hibernate 5.4.x 버전으로 업그레이드했습니다.

SQL 쿼리 아래에서 실행하는 동안 아래 오류가 발생합니다.

javax.persistence.TransactionRequiredException : org.hibernate.internal.AbstractSharedSessionContract.checkTransactionNeededForUpdateOperation (AbstractSharedSessionContract.java:413)에서 업데이트 / 삭제 쿼리를 org.hibernate.query.internal.AbstractProducedQuery.executeUpdate (Abstract)에서 실행합니다.

SQL 쿼리 :

hibernateSession.createSQLQuery("alter session enable parallel dml").executeUpdate();

또한 위의 dml 쿼리가 실패한 후 병렬 실행중인 삭제 쿼리가 실패합니다.

메서드 수준 및 클래스 수준에서 @Transactional 어노테이션 (import org.springframework.transaction.annotation.Transactional;)을 사용해 보았지만 문제가 해결되지 않았습니다.

이 오류를 해결하기위한 제안은 매우 감사 할 것입니다.

2. 해결방안:

언급 된 오류를 해결하기 위해 코드에 시작 트랜잭션을 추가했습니다.

Transaction trans = session.beginTransaction();

이 솔루션은이 오류를 해결하는 데 도움이되었습니다.

javax.persistence.TransactionRequiredException : 업데이트 / 삭제 쿼리 실행

그러나 이제 새로운 오류가 발생합니다.

오류 | ORA-12801 : 병렬 쿼리 서버 P00V에서 오류 신호를 받았습니다. ORA-12829 : 교착 상태-파일 175의 3591658 블록에서 형제가 itls를 차지했습니다.

65690945
반응형