JVM/JPA

[JPA] 트랜잭션 overrideafterCommit, beforeCommit ...

Hyo Kim 2023. 4. 7. 16:24
728x90
반응형

커밋 이전/이후에 추가적인 작업을 진행하고 싶을 때가 있다.

@Transactional
fun test() {
    TransactionSynchronizationManager.registerSynchronization(object : TransactionSynchronizationManager(), TransactionSynchronization {
        override fun afterCommit() {
            // ... 로직
        }
    })
    // ... db 작업 시작
}

트랜잭션 시작하는 메소드 맨 위에 위와 같이

TransactionSynchronizationManager.registerSynchronization를 사용하면 된다.

TransactionSynchronization 에서 다양한 메소드가 있으니 본인이 필요한 메소드를 오버라이딩해서 원하는대로 맞게 쓰자.

 

TransactionSynchronizationAdapter@Deprecated 됐다.

 

Method Summary
 

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/support/TransactionSynchronization.html

728x90
반응형