编写:徐建祥(netpirate@gmail.com)
时间:2009-04-22 00:02
来自:http://www.anymobile.org
1、分页显示
publicclassQuizRecordDAOextendsBaseHibernateDAO
{
privateintcount;
publicintgetCount()
{
returnthis.count;
}
publicListlist(intstart,intrange)
{
log.debug("findingallQuizRecordinstance");
try
{
Criteriacriteria=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);
returncriteria.list();
}
catch(RuntimeExceptionre)
{
log.error("findbypropertynamefailed",re);
throwre;
}
}
publicListlist(intawardStatus,intstart,intrange)
{
log.debug("findingallQuizRecordinstance");
try
{
Criteriacriteria=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);
returncriteria.list();
}
catch(RuntimeExceptionre)
{
log.error("findbypropertynamefailed",re);
throwre;
}
}
}
2/ 非主键的外键关联
<?xmlversion="1.0"?>
<!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
MappingfileautogeneratedbyMyEclipse-HibernateTools
-->
<hibernate-mapping>
<classname="org.anymobile.admin.entity.QuizRecord"table="quiz_record"catalog="fetion">
<idname="id"type="java.lang.Integer">
<columnname="id"/>
<generatorclass="increment"></generator>
</id>
<many-to-onename="yangzhouUser"class="org.anymobile.admin.entity.User"fetch="select"property-ref="fetionId">
<columnname="fetion_id"length="20"not-null="true"/>
</many-to-one>
</class>
</hibernate-mapping>
<?xmlversion="1.0"?>
<!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
MappingfileautogeneratedbyMyEclipse-HibernateTools
-->
<hibernate-mapping>
<classname="org.anymobile.admin.entity.User"table="f_user"catalog="fetion">
<idname="id"type="java.lang.Integer">
<columnname="id"/>
<generatorclass="increment"></generator>
</id>
<propertyname="fetionId"type="java.lang.String">
<columnname="fetion_id"length="10"not-null="true"unique="true"/>
</property>
<propertyname="phone"type="java.lang.String">
<columnname="phone"length="11"/>
</property>
<setname="records"inverse="true">
<!--
<key>
<columnname="fetion_id"length="15"not-null="true"/>
</key>-->
<keycolumn="fetion_id"property-ref="fetionId"/>
<one-to-manyclass="org.anymobile.admin.entity.QuizRecord"/>
</set>
</class>
</hibernate-mapping>
本文介绍了使用Hibernate进行分页查询的方法及非主键外键关联的实现方式。通过具体的Java代码示例展示了如何实现分页功能,并通过XML配置文件说明了如何设置非主键的外键关联。

被折叠的 条评论
为什么被折叠?



