2012-02-20 3 views
3

내 응용 프로그램은 현재 자체 db에서 사용자를 처리합니다. 내 앱 및 다른 사용자의 관리를 중앙 집중화하는 CAS 앱을 만드는 중입니다. 이 CAS 응용 프로그램은 자체 데이터베이스를 사용하며 다른 응용 프로그램은이 응용 프로그램에 액세스 할 수 있습니다. CAS를 포함한 모든 응용 프로그램에 동일한 최대 절전 모드 엔터티 "User"를 사용합니다.spring + hibernate - 다른 데이터 소스에 엔티티 매핑

나의 목표는 "사용자"엔티티를 찾을 때 응용 프로그램이 "로컬"db 또는 "cas"db를 사용할지 여부를 구성 할 수있게하는 것입니다.

이 구성은 런타임에 변경하지 않아도됩니다. 스프링 컨텍스트 xml config (또는 다른 가져 오기 세트) 일 수 있습니다.

추가 세션 팩토리를 사용하고 싶지 않습니다. 나는 그 길을 걸어 내려고 노력했는데 일단 web.xml에서 더 많은 open-in-session-view 필터를 정의해야한다는 것을 깨달았을 때 막혔다.

일부 구성을 기반으로 다른 데이터 소스에서이 엔티티 (및 다른 관련 항목)를로드하도록 어떻게 단일 세션 팩토리를 구성 할 수 있습니까?

답변

0

동적 데이터 소스 라우팅에 대해 blog post을 살펴보십시오.

+0

이미이 사진을보고 나에게 도움이되지 않는다고 생각했습니다. 그들의 예제에서 그들은 어떤 구성에 따라 다른 db의 Items (또는 users ...)를로드합니다. 나는 사용자를 제외하고 더 많은 데이터를 가지고 있으며, 다른 데이터 소스/db로 그 데이터의 로딩을 라우팅하고 싶지 않습니다. 난 단지 사용자가 다른 DB에서 일부 구성에 따라로드 싶어요. – samz

1

최대 절전 모드 4에서 멀티 테넌트 지원을 살펴 보셨습니까? http://relation.to/Bloggers/MultitenancyInHibernate

+0

나는 그것을 지금 보았다. 파티셔닝에 대한 첫 번째 예제는이 문제를 해결합니다. 이로 인해 최대 절전 모드 샤드 (shard)를 보게되었고 결국 이것은 나를 막 다른 길로 인도합니다. 최대 절전 모드 파편이 다소 죽은 것처럼 보입니다. 나는 어떤 maven repo (중앙 및 jboss 시도)에서 프로젝트를 찾을 수 없습니다. Jarvana에서 수업을 찾을 수조차 못합니다. 그것은 hibernate.org 사이트에서만 다운로드 할 수 있습니다. 그러나 Maven 로컬 repo jar 설치를 망치고 싶지는 않습니다 ... 나는 그들의 두 번째 제안 인 hibernate filter를 살펴보고 시도 할 것입니다. – samz

+0

나는 절전 모드에서 최대 절전 모드 3.6.1을 사용하고 있습니다. – samz

+0

다중 점유! = 파편. 그것은 Hibernate 4에서 소개 된 새로운 기능입니다. 그래서 당신이 업그레이드 할 수 없다면 이것을 무시하십시오. 그것은 오늘날 Hibernate에서 여러 데이터 소스를 다루는 "적절한"방법입니다. – pap

관련 문제