文档详情

hibernate dao 教程.doc

发布:2017-11-26约1.75万字共23页下载文档
文本预览下载声明
[转]一个泛型Hibernate DAO实现 ? 文章来源/dingx/archive/2007/08/06/1728287.aspx package?sgf4web.dao; import?java.io.Serializable; import?java.util.*; import?java.util.regex.Matcher; import?java.util.regex.Pattern; import?org.hibernate.*; import?org.hibernate.criterion.*; import?org.springframework.orm.hibernate3.HibernateCallback; import?org.springframework.orm.hibernate3.support.HibernateDaoSupport; import?sgf4web.dao.support.PaginationSupport; import?sgf4web.util.GenericsUtils; /**?*//** ?*?泛型Hibernate?DAO类 ?*? ?*?@author?DigitalSonic ?*/ @SuppressWarnings(unchecked) public?class?HibernateGenericDaoT,?ID?extends?Serializable?extends?HibernateDaoSupport?...{ ????private?ClassT?pojoClass; ???? ????/**?*//** ?????*?初始化DAO,获取POJO类型 ?????*/ ????public?HibernateGenericDao()?...{ //????????this.pojoClass?=?(ClassT)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0]; ????????this.pojoClass?=?GenericsUtils.getSuperClassGenricType(getClass()); ????} ???? ????/**?*//** ?????*?获得该DAO对应的POJO类型 ?????*/ ????public?ClassT?getPojoClass()?...{ ????????return?this.pojoClass; ????} ???? ????/**?*//** ?????*?获得该DAO对应的POJO类型名 ?????*/ ????public?String?getPojoClassName()?...{ ????????return?getPojoClass().getName(); ????} ????//加载对象 ???? ????/**?*//** ?????*?加载所有的对象 ?????*/ ????public?ListT?loadAll()?...{ ????????return?(ListT)getHibernateTemplate().loadAll(getPojoClass()); ????} ???? ????/**?*//** ?????*?根据hql查询 ?????* ?????*?@param?values?可变参数 ?????*/ ????public?List?find(String?hql,?Object...?values)?...{ ????????return?getHibernateTemplate().find(hql,?values); ????} ????/**?*//** ?????*?根据条件加载对象 ?????*? ?????*?@param?criteria?Criteria实例 ?????*/ ????public?ListT?findByCriteria(final?Criteria?criteria)?...{ ????????List?list?=?criteria.list();? ????????return?transformResults(list); ????} ???? ????/**?*//** ?????*?根据条件加载对象 ?????*?@param?detachedCriteria?DetachedCriteria实例 ?????*/ ????public?ListT?findByCriteria(final?DetachedCriteria?detachedCriteria)?...{ ??
显示全部
相似文档