내 응용 프로그램이 server1의 1-10K, server2의 10-10K와 같은 여러 데이터베이스에 걸쳐있는 경우 올바른 데이터베이스를 가리 키도록 세션 개체를 어떻게 수정할 수 있습니까?nhibernate 세션에서 다중 연결 문자열을 가질 수 있습니까?
nhibernate의 세션에서 연결 문자열을 변경하면 모든 사람에게 영향을 미치고 현재 요청이 올바르지 않습니다.
내 응용 프로그램이 server1의 1-10K, server2의 10-10K와 같은 여러 데이터베이스에 걸쳐있는 경우 올바른 데이터베이스를 가리 키도록 세션 개체를 어떻게 수정할 수 있습니까?nhibernate 세션에서 다중 연결 문자열을 가질 수 있습니까?
nhibernate의 세션에서 연결 문자열을 변경하면 모든 사람에게 영향을 미치고 현재 요청이 올바르지 않습니다.
NHibernate에서 특정 데이터베이스에 연결 문자열을 보유하고 ISession
인스턴스를 생성하는 것은 ISessionFactory
입니다. 다중 데이터베이스 지원의 경우 계속 진행중인 NHibernate Shards을 살펴보십시오.
한 세션에서 한 번에 하나의 연결 만 가질 수 있습니다. 더 많은 것을 갖기 위해서는 NHibernate가 기본 형식으로 지원하지 않는 분산 또는 심지어 임시 트랜잭션 의미론이 필요하다.
당신이 NHibernate를 사용하고 있다면 아마 SQL Server를 사용하고있는 것입니다. 이것은 링크 된 서버와 뷰에 가장 적합한 후보로 들립니다. 모든 다른 데이터베이스의 데이터를 통합하는 뷰가있는 "기본"데이터베이스를 하나 가질 수 있습니다. 사실 이것은 테이블 파티셔닝에 대한 꽤 표준적인 접근 방식이며, 유일한 차이점은 기본 테이블이 다른 데이터베이스에 있다는 것입니다.
최대 절전 모드가 더 성숙한 지 궁금합니까? – mrblah
예, 'Hibernate Shards'는 더 성숙한 프로젝트입니다. –