[SPRING] Spring을 사용하여 JPA EntityManager를 주입하는 방법
SPRINGSpring을 사용하여 JPA EntityManager를 주입하는 방법
JaPaDaoSupport를 확장하지 않고 Spring에서 JPA entityManager 객체를 DAO 클래스에 삽입 할 수 있습니까? 그렇다면 Spring은이 경우 트랜잭션을 관리합니까?
나는 Spring 구성을 가능한 한 간단하게 유지하려고 노력하고있다.
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="em"/>
</bean>
<bean id="em" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="myPU"/>
</bean>
해결법
-
==============================
1.예. JPA가 약간 특이한 것이기 때문에 문제가 많습니다. 명시 적 Spring 종속성없이 JPA EntityManager 및 EntityManagerFactory를 주입하는 것에 대한 문서를 읽는 것이 좋습니다.
예. JPA가 약간 특이한 것이기 때문에 문제가 많습니다. 명시 적 Spring 종속성없이 JPA EntityManager 및 EntityManagerFactory를 주입하는 것에 대한 문서를 읽는 것이 좋습니다.
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/orm.html#orm-jpa
이렇게하면 EntityManagerFactory를 삽입하거나 EntityManager의 스레드 안전성, 트랜잭션 프록시를 직접 삽입 할 수 있습니다. 후자는 더 간단한 코드를 만들지 만 더 많은 스프링 배관이 필요합니다.
-
==============================
2.이것은 12.6.3에서 흰색으로 검은 색으로 문서화되어있다. 일반 JPA를 기반으로 DAO 구현 :
이것은 12.6.3에서 흰색으로 검은 색으로 문서화되어있다. 일반 JPA를 기반으로 DAO 구현 :
트랜잭션 관리와 관련하여 12.7을 살펴보십시오. 트랜잭션 관리 :
-
==============================
3.최신 Spring + JPA 버전은 근본적으로이 문제를 해결합니다. Spring과 JPA를 별도의 스레드에서 사용하는 방법에 대해 더 많이 배울 수 있습니다.
최신 Spring + JPA 버전은 근본적으로이 문제를 해결합니다. Spring과 JPA를 별도의 스레드에서 사용하는 방법에 대해 더 많이 배울 수 있습니다.
from https://stackoverflow.com/questions/2421339/how-to-inject-jpa-entitymanager-using-spring by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] @Transactional을 말할 때마다 체크 된 모든 예외에서 롤백 (0) | 2018.12.30 |
---|---|
[SPRING] .properties 파일의 속성을 기반으로 Spring 설정 파일을 가져옵니다. (0) | 2018.12.30 |
[SPRING] Spring3.2 및 jboss (7) (0) | 2018.12.30 |
[SPRING] 제네릭 매개 변수를 사용하는 제네릭 메서드에서 Spring RestTemplate 사용 (0) | 2018.12.30 |
[SPRING] 스프링 부트없는 스프링 부트 액츄에이터 (0) | 2018.12.30 |