ORM 데이터 액세스
스프링 프레임 워크는 박람회의 이유로, 우리가 겨우 봄의 프로젝트에서 최대 절전 모드와 작업 팩 영역을 통합하는 방법에 초점 'ORM (개체 관계형 매핑)에 대한 여러과의 통합을 지원하지만.
스프링 프레임 워크는 이러한 자원 DAO의 implemantazione (데이터 액세스 개체)과 트랜잭션 관리의 관리로 이러한 작업을 지원합니다.
봄와의 통합을 통해 당신은 DI의 사용 (Dipendency 주입)를 통해 이러한 프레임 워크를 구성할 수 있습니다.
스프링과 itegrazione도 같은 혜택을 누려보세요
테스트 용이성
봄은 쉽게 구성 및 격리에 테스트를위한 프레임 워크에 필요한 구현을 변경할 수 있습니다.
예외 번역
봄이 예외가 사용되는 특정 계층의 꿀벌에서 추출의 비즈니스에 처리할 수 있도록 DataAccessException ORM 프레임 워크의 특정 예외를 번역할 수 있습니다.
이번 봄에 수행하려면 모든 데이터 액세스 전략에 적용 DAO 예외 자체 계층 구조를 가지고 있습니다.
예를 들어, JDBC를 사용 직접적으로, 모든 SQLException도 오류 코드 SQL의 번역을 포함 DataAccessException로 번역되었습니다.
당신이 최대 절전 또는 JDO와 같은 ORM을 사용하는 대신하는 경우 레이어의 특정 구현에서 철수하는대로 그렇게, IllegalArgumentException 또는 IllegaleStateException로 번역될 수 HibernatException 또는 PersistenceException 함께해야 해요.
예외의 번역은 단지 '@ 저장소 주석을 사용하여 PersistenceExceptionTranslationPostProcessor를 구성 활성화하려면 :
@ 저장소
MyDaoImpl {공용 클래스는 MyDao을 구현
/ / ..................
}
그리고 nell'applicationContext XML. :
<- 예외 번역 -> <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/> <bean id="myDao" class="example.MyDaoImpl"/>
자원의 중앙 집중식 관리
스프링 애플 리케이션 컨텍스트와 같은 데이터 원본 또는 모으고 최대 절전 SessionFactory의 구성, 사실 이러한 자원과 쉽게 이들을 변경하는 등의 ORM을 만드는 데 필요한 모든 리소스를 쉽게 복구할 수 있습니다.
또한 완전히 투명한에서 세션 공유 등의 이점을 제공합니다.
거래의 통합 관리
봄이 자동 또는 수동으로 트랜잭션을 관리할 수 있습니다.
그렇다면 여러분의 선택 방법, 트랜잭션 관리의 핵심 포인트는 AOP의 사용이다.
당신은 수동 방식을 선호한다면, @ 트랜잭션 주석을 사용하여 자동으로 수행되도록 선택하여해야 애플 리케이션 컨텍스트 설정 파일의 그보고의 조언.
이것은 JTA로 로컬 거래에서가는 것, 다른 트랜잭션 관리자에서 이동하려면, 언제나처럼 쉬운 중앙 집중식 관리를 만듭니다.
트랜잭션 관리는 다음 단락에서 자세히 논의됩니다.
봄 ORM의 목적은 한 손으로을 공개하기 위해 데이터 액세스의 애플 리케이션 계층을 만드는 것입니다, 데이터 및 트랜잭션 관리와 다른 개발자에 대한 액세스와 관련된 dipendeze에서 비즈니스 로직 계층 너무 singletons 및 하드 코딩된 자원 조회를 제거하는 것입니다.
다음 예제에서 우리는 트랜잭션 관리를위한 데이터 액세스와 JTA를 위해 최대 절전 모드를 사용하는 ORM 레이어를 참조하십시오







