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

最近更新

有效教学大赛表彰决定 2页

量化A股“现金奶牛”策略。解构自由现金流中的.. 21页

建筑安全相关法规 18页

小学一年级语文的教案[优选] 44页

小学德育随笔 30页

小学生开学发言演讲稿 49页

工作模式手册心得体会及收获感悟(实用15篇).. 34页

建筑与房地产法 29页

主流观测数据对相互作用暗能量模型限制的研究.. 8页

锚固体力学性质的研究 3页

银盐干板漂白后的相位编码在光学图像处理应用.. 3页

铁路隧道穿越浅埋泥石流沟的施工技术 3页

钨矿石物相分析方法研究(白钨矿和黑钨矿的选择.. 3页

钙镁磷肥能耗分析 3页

金属材料热处理过程中的瞬态温度场与解态相变.. 3页

采用网络计划技术指导官厅水库溢洪道扩建工程.. 4页

配气正时测定的研究 3页

通识教育背景下的高职数学教学探讨 3页

远程监控信息的优化与治理 3页

辽宁某深部铁矿石工艺矿物学特性研究 3页

软土地基厂房偏沉的分析和处理——某石化厂螺.. 3页

跳深等的下肢肌电图分析及体操运动员下肢落地.. 3页

超声波清洗技术在溶解氧在线测量中的应用 3页

2025年校内消防平安演练简报 8页

2024年中小学生艺术展演活动方案 4页

2025年工业大数据商业计划书模板 37页

2023年杭州市外国语学校小升初的试题 6页

王受之世界现代设计史 51页

情报学基础考试大纲 6页

可行性研究报告表样本 18页