2012-11-13 3 views
2

두 개의 매핑 파일이 있습니다. 건물 및 담당자. 각 Buildung에는 ContactPerson이 하나 있습니다. 그래서 내가 "MeetingPlace에서"열이 문의에 내가 열이 나는에 Contactperson를 할당최대 절전 모드에서 두 테이블을 올바르게 매핑하는 방법

접촉

"MeetingPlace에서"와 "ContactpersonName"건물의 일대일 관계

했을 회의실.

예 : 건물의 회의장은 독일입니다. 지금 Contact (연락처)에서 Contactperson을 Meetingplace Germany에 지명합니다. 연락

: 여기

내 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> 

그 스피의 geeting alwas 오류 IST 내 문제 :

Object reference not set to instance of an object 

내가 사용하는 경우 방. 빌딩 .Pa rtner.Contact에 문의하여 건물 회의실에 오십시오.

데이터베이스에 값이 있으므로 iam이 그 오류를 얻는 이유를 모르겠습니다. 내가 뭘 잘못하고 있니? 질문은 Bulding에서 Meetingplace의 담당자를 어떻게 얻을 수 있습니까?

제발 도와주세요! .

+1

진정한 = 게으른 거짓과 게으른 뭐가 잘못 되었 니. 그러나이 번역 된 버전은 더 부서지기 쉬운 것 같습니다. 예 : '빌딩. 파트너 '... 당신의 매핑이'빌딩. 파트'라고하기 때문에 작동하지 않습니다. C# 매핑을 표시 할 수 있습니까? 및 null 예외가 발생하는 호출 쿼리, 제발? –

답변

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에 켜십시오 수있는 일을하고 우리의 경우에 결과를 알려하지 않는 경우 나는 당신의 독일어 버전을 본 적이 밖으로 찾을 수 없습니다

관련 문제