隨筆-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/ 非主鍵的外鍵關(guān)聯(lián)

          <?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)--分頁顯示和非主鍵的外鍵關(guān)聯(lián)[未登錄] 2011-12-08 11:35 | JOJO
          好厲害,解決了我的問題。(非主鍵)
          不知道可否給再我講講原理呢,如果可以,請加Q1176792523。或者直接回復(fù)我
          很感謝!
            回復(fù)  更多評論
            
          主站蜘蛛池模板: 法库县| 龙井市| 盐源县| 项城市| 来宾市| 濉溪县| 剑阁县| 南昌市| 梓潼县| SHOW| 突泉县| 从化市| 康定县| 札达县| 保亭| 和顺县| 磴口县| 舟山市| 社旗县| 含山县| 来安县| 芮城县| 焉耆| 克东县| 晋州市| 澎湖县| 南溪县| 枞阳县| 张北县| 乐至县| 沈丘县| 清原| 蓝田县| 镇平县| 山丹县| 彭泽县| 察雅县| 酉阳| 象山县| 公安县| 乌鲁木齐市|