隨筆-1  評論-68  文章-98  trackbacks-0
          1、分頁顯示

          public class QuizRecordDAO extends BaseHibernateDAO
          {
              
          private int count;    
              
          public int getCount()
              
          {
                  
          return this.count;
              }

              
              
          public List list( int start, int range )
              
          {
                  log.debug( 
          "finding all QuizRecord instance" );
                  
          try
                  
          {
                      Criteria criteria 
          = getSession().createCriteria( QuizRecord.class );
                      
                      count 
          = ((Number) criteria .setProjection( Projections.rowCount() ).uniqueResult()).intValue();
                      criteria.setProjection( 
          null );
                      
          //            criteria.addOrder( Order.desc( TYPE ) );
                      criteria.setFirstResult( start );
                      criteria.setMaxResults( range );
                      
                      
          return criteria.list();
                  }

                  
          catch ( RuntimeException re )
                  
          {
                      log.error( 
          "find by property name failed", re );
                      
          throw re;
                  }

              }

              
              
          public List list( int awardStatus, int start, int range )
              
          {
                  log.debug( 
          "finding all QuizRecord instance" );
                  
          try
                  
          {
                      Criteria criteria 
          = getSession().createCriteria( QuizRecord.class );
                      criteria.add( Expression.eq( AWARD_STATUS, Integer.valueOf( awardStatus ) ) );
                      
                      count 
          = ((Number) criteria .setProjection( Projections.rowCount() ).uniqueResult()).intValue();
                      criteria.setProjection( 
          null );
                      
          //            criteria.addOrder( Order.desc( TYPE ) );
                      criteria.setFirstResult( start );
                      criteria.setMaxResults( range );
                      
                      
          return criteria.list();
                  }

                  
          catch ( RuntimeException re )
                  
          {
                      log.error( 
          "find by property name failed", re );
                      
          throw re;
                  }

              }

          }

          2/ 非主鍵的外鍵關聯

          <?xml version="1.0"?>
          <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
          >
          <!-- 
              Mapping file autogenerated by MyEclipse - Hibernate Tools
          -->
          <hibernate-mapping>
              
          <class name="org.anymobile.admin.entity.QuizRecord" table="quiz_record" catalog="fetion">
                  
          <id name="id" type="java.lang.Integer">
                      
          <column name="id" />
                      
          <generator class="increment"></generator>
                  
          </id>
                  
          <many-to-one name="yangzhouUser" class="org.anymobile.admin.entity.User" fetch="select" property-ref="fetionId">
                      
          <column name="fetion_id" length="20" not-null="true" />
                  
          </many-to-one>
              
          </class>
          </hibernate-mapping>
          -- property-ref="fetionId"是手工添加的代碼
          <?xml version="1.0"?>
          <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
          >
          <!-- 
              Mapping file autogenerated by MyEclipse - Hibernate Tools
          -->
          <hibernate-mapping>
              
          <class name="org.anymobile.admin.entity.User" table="f_user" catalog="fetion">
                  
          <id name="id" type="java.lang.Integer">
                      
          <column name="id" />
                      
          <generator class="increment"></generator>
                  
          </id>
                  
          <property name="fetionId" type="java.lang.String">
                      
          <column name="fetion_id" length="10" not-null="true" unique="true" />
                  
          </property>
                  
          <property name="phone" type="java.lang.String">
                      
          <column name="phone" length="11" />
                  
          </property>
                  
          <set name="records" inverse="true">
                  
          <!-- 
                      <key>
                          <column name="fetion_id" length="15" not-null="true" />
                      </key> 
          -->
                      
          <key column="fetion_id" property-ref="fetionId"/>
                      
          <one-to-many class="org.anymobile.admin.entity.QuizRecord" />
                  
          </set>
              
          </class>
          </hibernate-mapping>
          --綠色注釋部分是Hibernate自動生成的,<key column="fetion_id" property-ref="fetionId"/>是手工添加的。
          posted on 2009-04-22 00:02 Xu Jianxiang 閱讀(1412) 評論(1)  編輯  收藏 所屬分類: Open SourceJava Tech

          評論:
          # re: Hibernate FAQ(2)--分頁顯示和非主鍵的外鍵關聯[未登錄] 2011-12-08 11:35 | JOJO
          好厲害,解決了我的問題。(非主鍵)
          不知道可否給再我講講原理呢,如果可以,請加Q1176792523。或者直接回復我
          很感謝!
            回復  更多評論
            
          主站蜘蛛池模板: 平乡县| 富蕴县| 吉安县| 利辛县| 成武县| 宣化县| 简阳市| 昌邑市| 民丰县| 诸城市| 常德市| 乐至县| 元朗区| 铜山县| 山东省| 讷河市| 寿阳县| 齐河县| 余干县| 故城县| 保山市| 枣阳市| 扎赉特旗| 龙江县| 根河市| 镇原县| 岳阳市| 南丰县| 高碑店市| 靖远县| 五华县| 阿巴嘎旗| 昂仁县| 上虞市| 麻江县| 邯郸县| 沂南县| 济源市| 大竹县| 日土县| 小金县|