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