posts - 20,comments - 6,trackbacks - 0
          這是pojos:
          /**
           * 
           * 
          @author 袁曉江
           * @hibernate.class table="t_organization"
           *
           
          */

          public class Organization {
              
          /**
               * @hibernate.id
               *         generator-class="native"
               
          */

              
          private int id;
              
          /**
               * @hibernate.property
               
          */

              
          private String name;
              
          /**
               * @hibernate.property
               
          */

              
          private String sn;//編號
              /**
               * @hibernate.property
               
          */

              
          private String description;
              
          /**
               * @hibernate.many-to-one
               *             column="pid" not-found="ignore"
               
          */

              
          private Organization parent;
              
          //invserse=true讓多的一方維護一的那一方。
              /**
               * @hibernate.set inverse="true"
               * @hibernate.key column="pid"
               * @hibernate.one-to-many 
               *                 class="com.oa.model.Organization"
               
          */

              
          private Set<Organization> children;


          附上Organization.hbm.xml的配置文件:
          <?xml version="1.0" encoding="utf-8"?>
          <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

          <hibernate-mapping>
            
          <class table="t_organization" name="com.oa.model.Organization">
              
          <id access="field" name="id">
                
          <generator class="native"/>
              
          </id>
              
          <property name="name" access="field"/>
              
          <property name="sn" access="field"/>
              
          <property name="description" access="field"/>
              
              
          <many-to-one not-found="ignore" column="pid" access="field" name="parent"/>
              
              
          <!-- inverse="true"的時候  把每個孩子放到父親里的時候,會不存在pid的值 -->
              
          <set access="field" name="children" inverse="true">
                
          <key column="pid"/>
                
          <one-to-many class="com.oa.model.Organization"/>
              
          </set>
              
            
          </class>
          </hibernate-mapping>

          --------------------------------------------
          這里我放了inverse="true"
          --------------------------------------------

          這里是我的測試方法:
          public class OrgTest2 extends TestCase {
              
          public void testOrg(){
                  Session session 
          = HibernateUtils.getSession();
                  session.beginTransaction();
                  Set set 
          = new HashSet();
                  
                  Organization org2 
          = new Organization();
                  org2.setName(
          "org2");
                  set.add(org2);
                  
                  Organization org3 
          = new Organization();
                  org3.setName(
          "org3");
                  set.add(org3);
          //        
                  Organization org4 = new Organization();
                  org4.setName(
          "org4");
                  set.add(org4);
          //        
                  Organization org1 = new Organization();
                  org1.setName(
          "org1");
                  org1.setChildren(set);
                  
                  session.save(org1);
                  session.save(org2);
                  session.save(org3);
                  session.save(org4);

                  session.beginTransaction().commit();
              }


          存在這樣的一個問題:
          就是org2,org3,org4.不能正確的保存到數據庫里。
          也就是org2,org3,org4的pid的值都是空。
          我仔細查了下原因是inverse="true"造成的
          可是我沒有明白到底是怎么回事.?
          有人知道為什么么?
          讓多的這方去維護.
          posted on 2009-03-04 15:58 Johnhe 閱讀(2090) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 永年县| 元阳县| 化德县| 泰宁县| 集贤县| 黔南| 望奎县| 息烽县| 开阳县| 西城区| 集贤县| 霍林郭勒市| 偏关县| 固阳县| 河津市| 额济纳旗| 上思县| 惠东县| 永兴县| 余庆县| 姜堰市| 阿拉善左旗| 靖宇县| 广河县| 孟州市| 固阳县| 香格里拉县| 金溪县| 句容市| 个旧市| 宝应县| 澄迈县| 满城县| 莱州市| 巴中市| 和静县| 论坛| 汪清县| 哈尔滨市| 紫金县| 横山县|