disableConnectionTracking=true
Dao代码:
[java]
package dao;
import java.io.Serializable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import system.exception.DaoException;
import bo.PageEntity;
import dao.hqlProvider.IHqlProviderSet;
/**
*
*
Copyright: All Rights Reserved
*
Company: 北京新线科技发展有限公司http://www.NewLineTech.cn
*
Description: Dao实现类
*
* @author:Eric
*/
public class DaoImpl implements IDao{
protected Logger log = Logger.getLogger(DaoImpl.class);
/**
* Hibernate Session 工厂
*/
private SessionFactory sessionFactory;
/** *
*
Description:根据传入的实体向数据库添加一条记录
*
* @author Eric
* @param obj
* @throws DaoException
*/
public void addObject(Object obj) throws DaoException{
log.debug("BaseDao addObject object " + obj);
try{
sessionFactory.getCurrentSession().save(obj);
}catch(Exception e){
throw new DaoException("根据传入对象添加记录异常,请联系管理员!",e);
}
}
/**
*
*
Description:强制刷新Hibernate缓存提交数据更改操作
*
* @author Eric
* @return
* @version V1.0
*/
public void dbFlush() throws DaoException{
log.debug("BaseDao addObject dbFlush");
try{
sessionFactory.getCurrentSession().flush();
}catch(Exception e){
throw new DaoException("刷新缓存失败,请联系管理员!",e);
}
}
/**
*
*
Description:根据传入的实体向数据库添加一条记录,返回插入记录的主键
*
* @author Eric
* @param obj
* @return
* @throws DaoException
*/
public String addObjectPK(Object obj) throws DaoException{
log.debug("BaseDao addObjectPK object " + obj);
String id = null;
try{
id = (String) sessionFactory.getCurrentSession().save(obj);
}catch(Exception e){
throw new DaoException("根据传入对象添加记录异常,请联系管理员!",e);
}
return id;
}
/**
*
*
Description:根据传入的实体从数据库删除一条记录
*
* @author Eric
* @param obj
* @throws DaoException
*/
public void deleteObject(Object obj) throws DaoException{
log.debug("BaseDao deleteObject object " + obj);
try{
sessionFactory.getCurrentSession().delete(obj);
}catch(Exception e){
throw new DaoException("根据传入对象删除记录异常,请联系管理员!",e);
}
}
/**
*
*
Description:根据传入的实体与ID从数据库删除一条记录
*
* @author Eric
* @param cls
* @param id
* @throws DaoException
*/
@SuppressWarnings({"rawtypes"})
public void deleteObject(Class cls,Serializable id) throws DaoException{
log.debug("BaseDao deleteObject Class " + cls.getName() + " id " + id.toString());
try{
this.deleteObject(sessionFactory.getCurrentSession().get(cls,id));
}catch(Exception e){
throw new DaoException("根据传入对象与ID删除记录异常,请联系管理员!",e);
}
}
/**
*
*
Description:根据传入的实体修改数据库中一条记录
*
* @author Eric
* @param obj
* @throws DaoException
*/
public void updateObject(Object obj) throws DaoException{
log.debug("BaseDao updateObject object " + obj);
try{
se