如何在hibernate中正确映射两个表

如何在hibernate中正确映射两个表,hibernate,nhibernate,nhibernate-mapping,Hibernate,Nhibernate,Nhibernate Mapping,我有两个映射文件。建筑和联系人。每个建筑有一个联系人。所以我做了一对一的关系 在大楼里我有“Meetingplace”一栏,在Contact里我有“Meetingplace”和“ContactpersonName”一栏 在Contact中,我将联系人分配到一个会面地点 大楼里的会议地点是德国。现在在联系人中,我指定一名联系人到Meetingplace Germany 联系人: 这是我的地图文件 <class name="Book.Doa.Contact" table="Contac

我有两个映射文件。建筑和联系人。每个建筑有一个联系人。所以我做了一对一的关系

在大楼里我有“Meetingplace”一栏,在Contact里我有“Meetingplace”和“ContactpersonName”一栏

在Contact中,我将联系人分配到一个会面地点

大楼里的会议地点是德国。现在在联系人中,我指定一名联系人到Meetingplace Germany

联系人:

这是我的地图文件

    <class name="Book.Doa.Contact" table="Contact">
<id name="ID">
  <generator class="foreign">
    <param name="property">Parent</param>
  </generator>
</id>

<property name="Contact" length="20" column="Contactperson"/>
<property name="Meeting" length="20" column="Meetingplace"/>

<one-to-one name="Parent"
        class="Book.Doa.Building" constrained="true"/>
如果我使用room.Building.Partner.Contact获取大楼内会议地点的联系人

数据库中有一些值,所以我不知道为什么我会出错。我做错了什么? 问题是我怎样才能找到Bulding会议地点的联系人

请帮忙!
.

Try lazy=true,如下所示,它可能会起作用,因为我遇到了相同类型的问题,它也起作用了

  <one-to-one name="Partner" lazy="true" cascade="all" fetch="join" outer-join="true"
   class="BookIt.Domain.Contact, BookIt.Core"  />


如果解决方案不起作用,请打开show_sql,并在lazy=false和lazy=true的情况下告诉我们结果,我看到了您的德语版本,无法找出错误所在。但这个翻译版本似乎更破碎。例如,
房间。建筑。联系
。。。无法工作,因为映射显示:
Building.Partner
。你能给我看看C#mapping吗?您调用的查询导致空异常,请?
Object reference not set to instance of an object
  <one-to-one name="Partner" lazy="true" cascade="all" fetch="join" outer-join="true"
   class="BookIt.Domain.Contact, BookIt.Core"  />