Seam은 구성에서 다중 지속성 단위를 지원합니까? 또한, 언제 당신은 여러 개의 영속성 단위가 필요하거나 필요합니까?Seam - 다중 지속성 단위
일반 구성 요소에 대해 작업하고 있으며 현재 웹 응용 프로그램 당 1 개 이상의 영구 단위를 사용하지 않았기 때문에 지금 당장은 하나의 지속성 단위 만 지원합니다. 그래서, 하나 이상의 영속성 단위를 사용하는 곳을 보는데 어려움을 겪고 있습니다.
감사합니다,
월터
Seam은 구성에서 다중 지속성 단위를 지원합니까? 또한, 언제 당신은 여러 개의 영속성 단위가 필요하거나 필요합니까?Seam - 다중 지속성 단위
일반 구성 요소에 대해 작업하고 있으며 현재 웹 응용 프로그램 당 1 개 이상의 영구 단위를 사용하지 않았기 때문에 지금 당장은 하나의 지속성 단위 만 지원합니다. 그래서, 하나 이상의 영속성 단위를 사용하는 곳을 보는데 어려움을 겪고 있습니다.
감사합니다,
월터
합니까 Seam은 구성에서 여러 지속성 단위를 지원합니까?
왜 그런지는 알 수 없습니다. 여러 지속성 단위를 구성하고 이름으로 주입 얻을 :
또한@PersistenceContext(unitName="UNITNAME")
private EntityManager em;
, 당신이 원하는 또는 여러 지속성 단위를해야 할 때?
배수 데이터 소스에 액세스해야하는 경우.
JPA와 Seam이있는 JPA에서 여러 개의 지속성 단위를 사용할 수 있습니다. Seam에서는 매우 쉽습니다. persistence.xml에 하나 이상의 <persistence-unit name="myapp" />
요소를 만들고 각 유닛에 대해 EntityManagerFactory를 구성하고, 선택적으로 각 EntityManagerFactory에 대해 EntityManager를 구성하십시오. 당신은 단순히 표준 방식으로 모든 EntityManager를 주입 할 수 있습니다
@In
EntityManager entityManagerOne;
당신의 EntityManager가
entityManagerOne
이름
(다른 entityManagerTwo
).
다중 지속성 단위를 갖는 가장 중요한 이유는 다중 데이터베이스 시스템을 사용하기위한 요구 사항입니다. 이는 데이터 소스와 관련이 없지만 단순히 엔티티 매핑의 범위를 정의하는 데 문제가 있습니다.
또 다른 이유는 소유 단위별로 거래 전략 (전역 (JTA) 또는 로컬 (자원 로컬))을 선택한다는 것입니다. 따라서 여러 트랜잭션 전략으로 작업해야하는 경우 동일한 데이터베이스에 대해 2 개의 지속성 단위를 생성 할 수 있습니다.
나는 여러 개의 ID 관리자가있는 줄을 생각하고있었습니다. 1 개의 jpa ID 저장소 만 가질 수있는 것처럼 보입니다. 당신은 아마 거기에 더 많은 구덩이를 질질 수 있지만, 그 부분이 이메일 발신자를 구성하는 것이 하나의 주소만을 지원하는 것과 같이 하나 이상으로 설계되었다고는 생각하지 않습니다. –
나는 그것을 뒤로 가져 간다, 당신은 1 이상을 가질 수있다. 그러나 그것은 추하게 빠르게된다. –