나는 아주 쉬운 문제를 해결하려고 노력하고있다. 두 개의 완전히 다른 데이터베이스 (하지만 두 mysql 모두)에 대한 연결을 설정하려고합니다. 이제 여러 설정 파일을 만든 다음 여러 세션을 만들어이 문제를 해결하려고했습니다. 내가 관계에 도달 할 때까지 모든 것이 효과가 있습니다. - 뉴스NHibernate와 다중 데이터베이스
DB2 - News_Authors
내가 DB1의 설정 및 DB2의 설정에 News_Authors에 뉴스를 추가
DB1 :
나는이 데이터베이스에서 2 개 테이블을 가지고있다. 나는 간단한 일대일 관계의 오류를 구축 할 때, 나는 나타납니다
An association from the table songs refers to an unmapped class: db1.News_Authors
News.hbm.xml
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="project.News, project" table="news" lazy="false">
<id name="id" column="id" type="integer" length="11">
<generator class="native" />
</id>
<property name="title" type="String" length="255" />
<property name="authorid" type="integer" length="5" />
<one-to-one name="NewsAuthor" cascade="all-delete-orphan" lazy="proxy" column="authorid" unique="true" />
</class>
</hibernate-mapping>
News_Authors.hbm.xml
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="project.News_Authors, project" table="news_authors" lazy="false">
<id name="id" column="id" type="integer" length="11">
<generator class="native" />
</id>
<property name="name" type="String" length="255" />
</class>
</hibernate-mapping>
구성 맵핑을 사용하려면이를 추가했습니다. 지금은 모두
<mapping resource="project.News.hbm.xml" assembly="project" />
이 어떻게 또한 내가 여러 세션을 갖고 자 NHibernate를 "통지"세션의 생성 동안 나는 수 ... 모든 작품, 하나의 설정 파일에 설정 한 경우? 아니면 전적으로 다른 접근법을 선택해야합니까?
내가 답변 놓친 것 뉘앙스가 있다고 생각. 테이블이 두 개의 서로 다른 데이터베이스에 있다고 말하면서 데이터베이스간에 데이터를 조인하고 싶습니까? –
나는 그것이 정확히 묻는 사람이 묻는 것이라고 생각한다. 아마도 이것은 NHibernate Shards에 대한 작업입니까? 샤드 (Shards)가 이런 유형의 시나리오를 지원하는지는 이전에는 전혀 사용하지 못했습니다. –