1 / 18
文档名称:

Hibernate的Criteria用法总结.doc

格式:doc   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Hibernate的Criteria用法总结.doc

上传人:yzhlya 2016/4/12 文件大小:0 KB

下载得到文件列表

Hibernate的Criteria用法总结.doc

相关文档

文档介绍

文档介绍:最近在项目中使用 Struts 和 Hibernate 进行开发, 有感于 Criteria 比较好用, 在查询方法设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装。现在对 Hibernate 的 Criteria 的用法进行总结: Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria 和 DetachedCriteria 。 Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的, 所以它是由 Hibernate Session 进行创建的;而 DetachedCriteria 是离线的,创建时无需 Session , DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName(Name) 进行 DetachedCriteria 实例的创建。 Spring 的框架提供了 getHibernateTemplate ().findByCriteria(detachedCriteria) 方法可以很方便地根据 DetachedCriteria 来返回查询结果。 Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 设置查询条件。可以设置 FetchMode( 联合查询抓取的模式), 设置排序方式。对于 Criteria 还可以设置 FlushModel (冲刷 Session 的方式)和 LockMode (数据库锁模式)。下面对 Criterion 和 Projection 进行详细说明。 Criterion 是 Criteria 的查询条件。 Criteria 提供了 add(Criterion criterion) 方法来添加查询条件。 Criterion 接口的主要实现包括: Example 、 Junction 和 Simpl********** 。而 Junction 的实际使用是它的两个子类 conjunction 和 disjunction , 分别是使用 AND 和 OR 操作符进行来联结查询条件集合。 Criterion 的实例可以通过 Restrictions 工具类来创建, Restrictions 提供了大量的静态方法,如 eq (等于)、 ge (大于等于)、 between 等来方法的创建 Criterion 查询条件( Simpl********** 实例)。除此之外, Restrictions 还提供了方法来创建 conjunction 和 disjunction 实例, 通过往该实例的 add(Criteria) 方法来增加查询条件形成一个查询条件集合。至于 Example 的创建有所不同, Example 本身提供了一个静态方法 create(Object entity) ,即根据一个对象(实际使用中一般是映射到数据库的对象)来创建。然后可以设置一些过滤条件: Example exampleUser =(u) .ignoreCase() // (); //对 String 类型的属性,无论在那里值在那里都匹配。相当于%value% Project 主要是让 Criteria 能够进行报表查询, 并可以实现分组。 Project 主要有 SimpleProjection 、 ProjectionList 和 Property 三个实现。其中 SimpleProjection 和 ProjectionList 的实例化是由内建的 Projections 来完成,如提供的 avg 、 count 、 max 、 min 、 sum 可以让开发者很容易对某个字段进行统计查询。 Property 是对某个字段进行查询条件的设置,如通过 ( “ color ”).in (new String[]{ “ black ”,” red ”,” write ”}); 则可以创建一个 Project 实例。通过 criteria 的 add(Project) 方法加入到查询条件中去。使用 Criteria 进行查询, 主要要清晰的是 Hibernate 提供了那些类和方法来满足开发中查询条件的创建和组装,下面介绍几种用法: 1. 创建一个 Criteria . 接口表示特定持久类的一个查询。 Session 是 Criteria 实例的工厂。 Criteria crit

最近更新

2025年度离婚协议书:子女抚养与财产分割、共.. 9页

2025年度离婚协议书:夫妻共同财产分割与子女.. 7页

2025年度离婚协议书附子女教育金分配 8页

二零二五年电商SaaS系统解决方案合作协议书模.. 15页

2025年度离婚协议书模板与婚姻家庭法律风险评.. 10页

2025年度离婚协议书及离婚后子女探望权执行监.. 8页

二零二五年程海流域生态补偿机制实施合同 14页

二零二五年线上女神节直播中虚拟玫瑰AR特效交.. 25页

二零二五年绿色建筑项目标前合作合同书 14页

二零二五年网络安全教育与培训服务合同 18页

二零二五年藏式风格房屋装修工程合同 16页

二零二五年财务信息化建设财务会计岗位劳动合.. 17页

人教版五年级下册长方体包装的设计公开课一等.. 8页

2025年度社区便捷送餐服务合作协议书 10页

二零二五年采光井工程劳务派遣服务合同 18页

二零二五年金融财务顾问项目合作协议 16页

二零二五年食品包装盒设计与食品安全标准认证.. 16页

二零二五年餐饮业员工劳动合同标准模板 16页

二零二五年餐饮店特色餐饮品牌连锁拓展合同 14页

二零二五年高新技术产品采购合同样本 15页

二零二五年高端定制式储藏室租赁及仓储服务合.. 16页

二零二五年,汽车租赁合同(个人租给影视制作.. 13页

2025年度砖厂市场营销合作合同 9页

2025年度研学旅行安全保障及责任承担合同 10页

人教版三年级语文上期中复习公开课一等奖课件.. 33页

2025年度砂石运输项目风险防控与合同执行协议.. 10页

二零二五版E管材国际贸易保险合同 17页

2025年度砂石资源开采与综合利用合同 10页

二零二五版不锈钢宣传栏安装工程合同履行监督.. 17页

二零二五版个人隐私录像内容版权购买合同 14页