我有两个映射文件。建立和ContactPerson。每个Buildung都有一个ContactPerson。所以我做了一对一的关系
在建筑物中我有“Meetingplace”列,而在Contact i中有“Meetingplace”和“ContactpersonName”列
在联系中我将联系人分配给会议地点。
例如:Building in Meeting是德国。现在联系我为Meetingplace德国分配联系人。
联系人:
这是我的Mappingfiles
<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"/>
大厦:
<class name="Book.Doa.Building">
<id name="ID">
<generator class="native">
<param name="sequence">GLOBALSEQUENCE</param>
</generator>
</id>
<property name="Standort" column="Meetingplace" />
<one-to-one name="Partner" lazy="false" cascade="all" fetch="join" outer-join="true"
class="BookIt.Domain.Contact, BookIt.Core" />
</class>
我的问题是,iam geeting也是错误:
Object reference not set to instance of an object
如果我使用room.Building.Partner.Contact来获取Building in Meetingplace in Building。
数据库中有值,所以我不知道为什么会出现这个错误。我做错了什么? 问题是如何在Bulding中获得Meetingplace的ContactPerson?
请帮忙!
答案 0 :(得分:0)
尝试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的结果