我试图解决很容易的问题。我想建立连接到2个完全不同的数据库(但都是mysql)。现在我试图通过创建多个配置文件然后创建多个会话来解决这个问题。一切工作,直到我达成关系。NHibernate和多个数据库
我有2个数据库表2:
DB1 - 新闻
DB2 - News_Authors
我添加新闻到DB1配置和News_Authors到DB2配置。当我尝试建立简单的一到一个关系错误,我得到:
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>
config 我添加了这个来启用映射。现在,如果我同时设置在一个配置文件,一切正常......
<mapping resource="project.News.hbm.xml" assembly="project" />
所以怎么也我会的创建过程中“通知” NHibernate的,我有多个会话?或者我应该选择完全另一种方法?
我认为是一个的很多答案错过的细微差别。您是否说这些表格位于两个不同的数据库中,并且您想要跨数据库加入数据? – 2009-05-08 20:35:43