基于hibernate的通用Dao..doc
文本预览下载声明
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
显示全部