NHibernate的初學幾點錯誤記錄

   在學NHibernate時,xml的配置經常弄得很不爽,現在記錄幾個以作記錄。我在http://www4.it168.com/jtzt/shenlan/tech/NHibernate/裏面的http://tech.it168.com/n/2007-03-22/200703220910228.shtml按照裏面的步驟來,發現有幾個錯誤。

1---Stone.Model.Person.hbm.xml(2,2): XML validation error: 未能找到元素“urn:nhibernate-mapping-  2.0:hibernate-mapping”的架構信息。

  解決的方法是將類的mapping xml的“urn:nhibernate-mapping-  2.0"中的2.0-----------2.2

2---The following types may not be used as proxies:
Stone.Model.Person: method get_Id should be virtual
Stone.Model.Person: method set_Id should be virtual
Stone.Model.Person: method get_Name should be virtual
Stone.Model.Person: method set_Name should be virtual
Stone.Model.Person: method get_Id should be virtual
Stone.Model.Person: method set_Id should be virtual
Stone.Model.Person: method get_Name should be virtual
Stone.Model.Person: method set_Name should be virtual

解決的方法:

引起問題的原因:

NHibernate 1.2 默認爲類啓用了延遲加載功能

解決方法:

方法1.在映射文件 class 標籤中添加 Lazy="false" 屬性

例 <class name="Stone.Model.Person,Stone.Model" table="Person" lazy="false">

方法2.爲每個實體類的屬性成員 添加 “ virtual ” 修飾符;

例:   

      public virtual  int id
      {
         get {  return m_id; }
         set {  m_id = value; }
      }

待續。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章