0

喜不設置到對象的實例我有兩個映射:收到錯誤:對象在Hibernate中

Ansprechpartner-Mappingfile:

<class name="Book.Doa.Ansprechpartner, Book.Co" table="ANSPRECHPARTNER"> 
<id name="ID"> 
    <generator class="foreign"> 
    <param name="property">Parent</param> 
    </generator> 
</id> 

<property name="AnsprechPartnerName" length="20" column="PARTNER"/> 
<property name="KonfStandort" length="20" column="KONFERENZSTANDORT"/> 

<one-to-one name="Parent" 
     class="Book.Doa.Gebaeude, Book.Co" constrained="true"/> 

Ansprechparter.CS:

public class Ansprechpartner : DomainObject<long> 
{ 
    public virtual string AnsprechPartnerName { get; set; } 
    public virtual string KonfStandort { get; set; } 
    public virtual Gebaeude Parent { get; set; } 

    public Ansprechpartner() 
    { 
    } 
    public Ansprechpartner(

     string ansprechpartnername, 
     string konfstandort, 
     Gebaeude parent 
     ) 
    { 
     AnsprechPartnerName = ansprechpartnername; 
     KonfStandort = konfstandort; 
     Parent = parent; 
    } 
} 

Gebaeude-Mappingfile:

<class name="Book.Doa.Gebaeude, Book.Co"> 
    <id name="ID"> 
     <generator class="native"> 
      <param name="sequence">GLOBALSEQUENCE</param> 
     </generator> 
    </id> 

    <property name="Bezeichnung" not-null="true" length="64" /> 
    <property name="Standort" column="Konfstandort" /> 

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

</class> 

Gebaeude.CS:

 public class Gebaeude : DomainObject<long> 
    { 

     public virtual string Bezeichnung { get; set; } 
     public virtual string Adresse { get; set; } 
     public virtual Stadt Stadt { get; set; } 
     public virtual string Plz { get; set; } 
     //Konferenzstandort ggf. unten noch hinzufügen. 
     public virtual string KonfStandort { get; set; } 

     public virtual Ansprechpartner Partner { get; set; } 


     ...... 
} 

他們有一個一對一的關係。

我試圖讓值「AnsprechPartnerName有:room.Etage.Gebaeude.Ansprechpartner.AnsprechPartnerName

但我總是收到錯誤:?。Object reference not set to instance of an object

爲什麼是什麼IAM做錯了對部分我的其他測繪正在完善

誰能幫助?

+0

可能重複的[如何正確映射兩個表在休眠](http://stackoverflow.com/questions/13369389/how-to-map-correctly-over-two-tables-in-hibernate) – LeftyX

回答

0

此錯誤只是表示您試圖訪問一個對象,它是空的屬性,它並不意味着有什麼不妥您的映射,我們沒有理由認爲映射是基於您提供的數據的問題。

使用調試器和你提到的表達式(room.Etage.Gebaeude.Ansprechpartner.AnsprechPartnerName)突破並檢查是否每個屬性設置。

roomnull

room.Etagenull

room.Etage.Gebaeude沒有null

如果其中一個未設置,請檢查數據庫是否實際存在。只有這樣你才能假設問題出在你的映射上。

+0

room不爲null,room.etage不爲null,room.etage.gebaeude不爲null。我精簡了Ansprechpartner.Ansprechpartnername爲空。但我不知道爲什麼,因爲數據庫中有價值7 – Paks