문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
springframework:jpa [2014/12/31 21:22] kwon37xi [예외 변환(Hibernate 연동에서도 동일)] |
springframework:jpa [2018/03/07 08:42] (현재) kwon37xi |
||
---|---|---|---|
줄 2: | 줄 2: | ||
* [[java: | * [[java: | ||
* [[java: | * [[java: | ||
- | * [[http:// | + | * [[http:// |
===== EntityManager 주입 ===== | ===== EntityManager 주입 ===== | ||
줄 12: | 줄 12: | ||
===== 예외 변환(Hibernate 연동에서도 동일) ===== | ===== 예외 변환(Hibernate 연동에서도 동일) ===== | ||
* DAO 클래스에 '' | * DAO 클래스에 '' | ||
- | * '' | + | * '' |
<bean class=" | <bean class=" | ||
</ | </ | ||
* 예외 변환이 정확하게 이뤄지지는 않지만 '' | * 예외 변환이 정확하게 이뤄지지는 않지만 '' | ||
- | * 현재, Spring Data JPA를 사용하고 있는데, 빈 등록을 명시적으로 안해도 '' | + | * 현재, Spring Data JPA를 사용하고 있는데, 빈 등록을 명시적으로 안해도 '' |
- | * Spring Data JPA Java Config시에는 '' | + | * Spring Data JPA Java Config시에는 '' |
+ | * **이 문제에 관해 일부러 SQL Exception을 발생시켜 예외가 Spring 예외로 변환되는지 테스트** 해볼 것. | ||
* 거의 모든 리소스 팩토리('' | * 거의 모든 리소스 팩토리('' | ||
- | * TODO 안해도 되는 것으로 보임 테스트 해 볼 것. Exception Translator 직접 등록 필요< | ||
- | // Hibernate의 경우 | ||
- | @Bean | ||
- | public HibernateExceptionTranslator hibernateExceptionTranslator() { | ||
- | return new HibernateExceptionTranslator(); | ||
- | } | ||
- | </ | ||
- | |||
===== OpenEntityManagerInView ===== | ===== OpenEntityManagerInView ===== | ||
* View 까지 Lazy Loading이 작동하려면 OpenEntityManagerInView를 적용해야 한다. 이는 Hibernate의 OpenSessionInView와 같다. Filter나 Interceptor 중에 선택하여 적용한다. | * View 까지 Lazy Loading이 작동하려면 OpenEntityManagerInView를 적용해야 한다. 이는 Hibernate의 OpenSessionInView와 같다. Filter나 Interceptor 중에 선택하여 적용한다. |