关于NHibernate1.2的一对多关关系表问题,解决一定结贴给分
请大家帮忙指点! 
 问题描述:我有2张表,LogicUsers和LogicArticle,其中LogicUsers为主表。我想要再LogicUsers.hbm.xml中配置one-to-many的关系,在LogicArticle里面配置many-to-one的关系,以达到两个有关联。可是,我配置子表的多对一后保存,没有问题。只要配置主表的一对多关系,保存,就提示无法保存对象。根据SQLServer   Profile监控,发现根本没有执行SQL语句,也就是说配置文件错误。请看以下代码 
  <?xml   version= "1.0 "   encoding= "utf-8 "   ?>  
  <hibernate-mapping   xmlns= "urn:nhibernate-mapping-2.2 "   namespace= "Schema "   assembly= "Schema ">  
        <class   name= "LogicUsers "   table= "LogicUsers ">  
              <id   name= "Id ">  
                    <column   name= "userid "   length= "40 "   sql-type= "varchar "   not-null= "true "   />  
                    <generator   class= "uuid.hex "   />  
              </id>  
              <property   name= "Name ">  
                    <column   name= "name "   length= "40 "   not-null= "false "/>  
              </property>  
              <property   name= "Pwd ">  
                    <column   name= "pwd "   length= "20 "   not-null= "false "/>  
              </property>  
  <!--   设置一对多关系,删除这部分,下面的代码就能通过(子表已经配置了多对一)@_@   -->  
              <set   name= "Children "   lazy= "true ">  
                    <key   column= "userid "   />  
                    <one-to-many   class= "LogicArticle "   />  
              </set>   			    
        </class>  
  </hibernate-mapping>    
 test.cs文件: 
 LogicUsers   m_LogicUser   =   new   LogicUsers(); 
 m_LogicUser.Name   =   this.txtName.Text.Trim(); 
 m_LogicUser.Pwd   =   this.txtPWD.Text.Trim();   
 LogicArticle   l1   =   new   LogicArticle(); 
 l1.Title   =   this.txtTitle.Text.Trim(); 
 l1.UserObject   =   m_LogicUser;   (此处为给子表的LogicUsers类型的属性复制)   
 ISessionFactory   sessionFactory   =   new   NHibernate.Cfg.Configuration().Configure().BuildSessionFactory(); 
 ISession   session   =   sessionFactory.OpenSession(); 
 ITransaction   transaction   =   session.BeginTransaction();   
 session.Save(m_LogicUser);      (通过监控发现此处未执行SQL) 
 session.Save(l1); 
 //   m_LogicUser.Children.Add(l1,   l1);   此处模仿其他网站上的资料,在主表中添加IDictionary,然后添加,同样无效 
 transaction.Commit(); 
 session.Close();
------解决方案--------------------应该是比较简单的,参考 
 http://www.hibernate.org/hib_docs/nhibernate/html/example-parentchild.html
------解决方案--------------------友情up 
------解决方案--------------------try:   
  <set name= "Children " lazy= "true " cascade= "all " inverse= "true ">  
  <key column= "userid " />  
  <one-to-many class= "LogicArticle " />  
  </set>