// EntityManager의 프록시 주입 @PersistenceContext EntityManager em;
@Repository
어노테이션을 부여한다.PersistenceExceptionTranslationPostProcessor
를 등록해줘야 한다. 이렇게 하면 @Repository
클래스들에 대해 자동으로 예외를 Spring의 DataAccessException
으로 일괄 변환해준다.<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
OptimisticLockingFailureException
은 제대로 된다.PersistenceExceptionTranslationPostProcessor
가 자동 등록되고 있다. 느낌상으로는 XML 설정시에 어떠한 설정하나가 자동으로 등록해주는 듯 하다.PersistenceExceptionTranslationPostProcessor
를 직접 등록해줘야 하는 것으로 보인다. → 안해도 되는 듯 하다. 버전을 타는 것인지 다른 어떤 설정 때문인지 확인이 필요하다.LocalContainerEntityManagerFactoryBean
포함) 대부분 PersistenceExceptionTranslator
를 직접 구현하고 있어서 Translator 자체를 따로 등록할 필요는 없다.org.springframework.orm.jpa.support.OpenEntityManagerInViewInterceptor
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter