文档详情

基于hibernate的通用Dao..doc

发布:2017-01-19约1.3万字共14页下载文档
文本预览下载声明
package com.panhc.aa.dao; import java.io.Serializable; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map; import org.hibernate.Criteria; import org.hibernate.Query; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Order; import org.hibernate.criterion.Projections; import org.hibernate.hql.ast.QueryTranslatorImpl; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import org.springframework.stereotype.Repository; import com.panhc.aa.page.Page; @Repository public class CommonDao extends HibernateDaoSupport { /** * 根据id获得对象 * @param X * @param clazz * @param id * @return */ public X X get(final ClassX clazz, final Serializable id) { return (X) this.session().get(clazz, id); } /** * 删除对象 * @param entity */ public void delete(final Object entity) { this.session().delete(entity); } /** * 根据ID删除对象,load提高性能 * @param X * @param clazz * @param id */ public X void delete(final ClassX clazz, final Serializable id) { delete(this.session().load(clazz, id)); } /** * hql更新 * @param hql * @return */ public int executeUpdate(final String hql) { return this.createQuery(hql).executeUpdate(); } /** * 有条件参数的hql更新 * @param hql * @param params * @return */ public int executeUpdate(final String hql, List?extends Object params) { return this.createQuery(hql, params).executeUpdate(); } /** * 有条件参数的hql更新 * @param hql * @param params * @param splitParams参数是否拆分,传入null或ture表示拆分参数,false参数不拆分,适合只有一个参数的情况 * @return */ public int executeUpdate(final String hql, List?extends Object params,Boolean splitParams) { return this.createQuery(hql, params,splitParams).executeUpdate(); } /** * hql批量删除实体 * @param hql * @param ids * @return */ public int deletes(final String hql, ListObject ids) { return this.executeUpdate(hql, ids, false
显示全部
相似文档