사용자 도구

사이트 도구


springframework:jpa

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
springframework:jpa [2015/01/02 14:28]
kwon37xi [예외 변환(Hibernate 연동에서도 동일)]
springframework:jpa [2018/03/07 08:42] (현재)
kwon37xi
줄 2: 줄 2:
   * [[java:jpa|JPA]]   * [[java:jpa|JPA]]
   * [[java:jpa:springdatajpa|Spring Data JPA]]   * [[java:jpa:springdatajpa|Spring Data JPA]]
-  * [[http://www.baeldung.com/2011/12/13/the-persistence-layer-with-spring-3-1-and-jpa/|Spring 4 and JPA with Hibernate]]+  * [[http://www.baeldung.com/the-persistence-layer-with-spring-and-jpa|A Guide to Hibernate with Spring 4 | Baeldung]]
  
 ===== EntityManager 주입 ===== ===== EntityManager 주입 =====
줄 12: 줄 12:
 ===== 예외 변환(Hibernate 연동에서도 동일) ===== ===== 예외 변환(Hibernate 연동에서도 동일) =====
   * DAO 클래스에 ''@Repository'' 어노테이션을 부여한다.   * DAO 클래스에 ''@Repository'' 어노테이션을 부여한다.
-  * ''PersistenceExceptionTranslationPostProcessor''를 등록해줘야 한다.<code xml>+  * ''PersistenceExceptionTranslationPostProcessor''를 등록해줘야 한다. 이렇게 하면 ''@Repository'' 클래스들에 대해 자동으로 예외를 Spring의 ''DataAccessException''으로 일괄 변환해준다.<code xml>
 <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" /> <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
 </code> </code>
   * 예외 변환이 정확하게 이뤄지지는 않지만 ''[[http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/dao/OptimisticLockingFailureException.html|OptimisticLockingFailureException]]''은 제대로 된다.   * 예외 변환이 정확하게 이뤄지지는 않지만 ''[[http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/dao/OptimisticLockingFailureException.html|OptimisticLockingFailureException]]''은 제대로 된다.
-  * 현재, Spring Data JPA를 사용하고 있는데, 빈 등록을 명시적으로 안해도 ''PersistenceExceptionTranslationPostProcessor''가 자동 등록되고 있다. 느낌상으로는 XML 설정시에 어떠한 설정하나가 자동으로 등록해주는 듯 하다. JavaConfig 설정시에는 직접 해줘야 하는 것 같다.+  * 현재, Spring Data JPA를 사용하고 있는데, 빈 등록을 명시적으로 안해도 ''PersistenceExceptionTranslationPostProcessor''가 자동 등록되고 있다. 느낌상으로는 XML 설정시에 어떠한 설정하나가 자동으로 등록해주는 듯 하다.
     * Spring Data JPA Java Config시에는 ''PersistenceExceptionTranslationPostProcessor''를 직접 등록해줘야 하는 것으로 보인다. -> 안해도 되는 듯 하다. 버전을 타는 것인지 다른 어떤 설정 때문인지 확인이 필요하다.     * Spring Data JPA Java Config시에는 ''PersistenceExceptionTranslationPostProcessor''를 직접 등록해줘야 하는 것으로 보인다. -> 안해도 되는 듯 하다. 버전을 타는 것인지 다른 어떤 설정 때문인지 확인이 필요하다.
     * **이 문제에 관해 일부러 SQL Exception을 발생시켜 예외가 Spring 예외로 변환되는지 테스트** 해볼 것.     * **이 문제에 관해 일부러 SQL Exception을 발생시켜 예외가 Spring 예외로 변환되는지 테스트** 해볼 것.
springframework/jpa.1420176527.txt.gz · 마지막으로 수정됨: 2015/01/02 14:28 저자 kwon37xi