Hibernate的凝乳的封装和的HQL的多表查询.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:26 大小:193KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

Hibernate的凝乳的封装和的HQL的多表查询.doc

Hibernate的凝乳的封装和的HQL的多表查询.doc

预览

免费试读已结束,剩余 16 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Hibernate的凝乳的封装和的HQL的多表查询:0人收藏此文章,HYPERLINK"javascript:add_to_favor(42557,3)"我要收藏发表于5个月前(2012-03-0513:49),已有143次阅读共HYPERLINK"http://my.oschina.net/xiahuawuyu/blog/42557"\l"comments"1个评论自己写的一个Hibernate的凝乳的封装自己在dome一个小项目的时候,突发奇想,利用单例和工厂加上泛型的知识封装Po的CURD操作,直接上代码,文笔不好,呵呵,还请大家指教接口规范,定义凝乳操作Java的代码[IMG]http://www.javaeye.com/images/icon_copy.gif[/IMG]包edu.sasu.DAO;进口的java.util.List;/***所有实体类遵循的接口*@作者管理员**@参数<T>*_AT_参数<ID>*/公共接口BaseDao<T>{/***保存实体*@参数实体的实体类*/公共布尔保存(操实体);/***删除实体*@参数实体的实体类*/公共布尔删除(操实体);/***根据实体的ID删除实体*@参数实体的实体类*/公共布尔deleteById(操实体);/***跟新实体*@参数实体的实体类*///公共布尔更新(操实体);公共布尔更新(操实体,对象的OID);/***根据实体D,查询单个实体*@参数实体的实体类*@返回*///公共ţfindById(操实体);(操实体,对象entityID),公共ţfindById;/***累出所有实体集合*@的参数entityClass实体类*@返回实体类名单*/公共的名单<T>的findAll(弦乐HQL);公共的名单<T>的findAll(操实体);/***保存和跟新方法*/公共布尔saveOrUpdate(操实体);}包edu.sasu.DAO;进口的java.util.List;/***所有实体类遵循的接口*@作者管理员**@参数<T>*_AT_参数<ID>*/公共接口BaseDao<T>{/***保存实体*@参数实体的实体类*/公共布尔保存(操实体);/***删除实体*@参数实体的实体类*/公共布尔删除(操实体);/***根据实体的ID删除实体*@参数实体的实体类*/公共布尔deleteById(操实体);/***跟新实体*@参数实体的实体类*///公共布尔更新(操实体);公共布尔更新(操实体,对象的OID);/***根据实体D,查询单个实体*@参数实体的实体类*@返回*///公共ţfindById(操实体);(操实体,对象entityID),公共ţfindById;/***累出所有实体集合*@的参数entityClass实体类*@返回实体类名单*/公共的名单<T>的findAll(弦乐HQL);公共的名单<T>的findAll(操实体);/***保存和跟新方法*/公共布尔saveOrUpdate(操实体);}实现BaseDao接口,实现其中的方法Java的代码[IMG]http://www.javaeye.com/images/icon_copy.gif[/IMG]包edu.sasu.DAOImpl;进口了java.io.Serializable;进口的java.util.ArrayList;进口的java.util.List;进口持久性单元对话框;导入org.hibernate.Session;导入org.hibernate.Transaction;导入edu.sasu.DAO.BaseDao;导入edu.sasu.Util.DBUtil;/***封装的基类操作*@作者管理员**@参数<T>*/公共类BaseDAOImpl<T>实现BaseDao<T>{市民同步布尔删除(操实体){//TODO自动生成方法存根返回false;}/***删除某条数据*/市民同步布尔deleteById(操实体){届会议DBUtil.getDBUtil()getSession();交易TX=NULL;尝试{TX=session.beginTransaction();使用Session.delete(实体);tx.commit();}赶上(HibernateException的E){(TX=NULL){tx.rollback();}返回f