SPRING
실무에서 잘못 사용하고 있던 Transaction
실무 프로젝트 전반에 REQUIRES_NEW가 남용되던 원인을 프록시 패턴과 롤백 시점 이해 부족에서 찾아 분석한 경험을 공유합니다.
실무 프로젝트 전반에 REQUIRES_NEW가 남용되던 원인을 프록시 패턴과 롤백 시점 이해 부족에서 찾아 분석한 경험을 공유합니다.
@Transactional 안에서 try ~ catch로 예외를 감쌀 때 롤백이 동작하지 않는 원인을 TransactionAspectSupport 내부 동작으로 분석하고 해결 방법을 정리합니다.
배치에서 Quartz로 실행할 때만 FetchType.LAZY 객체를 불러오지 못하고 LazyInitializationException이 발생한 원인과 해결 방법을 정리합니다.
JPA의 save와 saveAll을 각각 10,000건씩 테스트하여 실행 시간을 비교하고, saveAll이 더 빠른 이유를 프록시 기반 @Transactional 동작 원리로 설명합니다.
JPA 엔티티 매핑과 EntityManager 기반 리포지토리를 구현하고, SpringConfig의 빈 설정만 바꿔 JDBC 구현체를 JPA로 교체하는 과정을 정리합니다.