- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate-Criteria总结
Hibernate-Criteria总结 Y285-杜鸿麟 Criteria所属 org.hibernate.Criteria接口表示特定持久类的一个查询 Criteria大纲 创建Criteria Criteria简介 行操作 Example Property Restrictions 列操作 投影(Projections) 离线查询(DetachedCriteria) 创建Criteria 通过Hibernate的Session对象来创建Criteria Criteria c=session.createCriteria(entity.class); Criteria简介(一) 级联操作 createAlias() 别名操作 返回值Criteria 重载方法5个 过时2个 常用1个 参数1为字段名,参数2为别名的重载方法 Criteria简介(二) createCriteria() 创建新的Criteria实例操作 返回值Criteria 重载方法8个 过时3个 常用2个 参数只有一个为字段名的重载方法 参数1为字段名,参数2为别名的重载方法 Criteria简介(三) setFetchMode(String?associationPath, FetchMode?mode) 决定是否自动进行级联操作 返回值Criteria 重载方法无 参数2个 参数1进行关联的字段 参数2级联操作方式,枚举值 建议的:DEFAULT JOIN SELECT 过时的:EAGER LAZY Criteria简介(四) 如果只希望获取级联的二级对象信息则必须使用Criteria对象的setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)转换成java.util.Map 得到的结果Map集合对象调用get(Criteria.ROOT_ALIAS)方法获取查询对象 调用get(别名)方法获取级联的对象 需给别名 Criteria简介(五) 得到结果 List() 返回值java.util.List 重载方法无 参数无 返回结果集 Criteria简介(六) uniqueResult() 返回值java.lang.Object 重载方法无 参数无 返回单个结果 Criteria简介(七) 限制结果集 行操作 add(Criterion?criterion) addOrder(Order order) setFirstResult(int?firstResult) setMaxResults(int?maxResults) 列操作 setProjection(Projection projection) 行操作(一) setFirstResult(int?firstResult) 设置返回首个结果的位置 setMaxResults(int?maxResults) 设置返回最大的结果数 返回值Criteria 用以上方法可以完成分页操作 行操作(二) addOrder(Order?order) 返回值Criteria 重载方法无 参数org.hibernate.criterion.Order 常用方法 static asc(String?propertyName) static desc(String?propertyName) 行操作(三) add(Criterion?criterion) Example 实现了Criterion接口 Property 调用静态方法forName(String?propertyName)返回Property调用其中方法返回Criterion或已实现其的子类 Restrictions 调用静态方法返回Criterion或已实现其的子类 行操作(四) Example 通过本类的静态方法create(Object?entity)创建Example实例 可以直接传递实体对象为参数查询 可以通过调用excludeZeroes()、ignoreCase()、excludeProperty(字段名)、enableLike()等方法来实现不包含字段为0、忽略大小写、排出字段和模糊查询的等条件 不把主键作为查询条件 默认不加载null的字段 行操作(五) Property 通过静态forName(String?propertyName)返回Property实例 通过实例调用方法返回Criterion或已实现其的子类的实例并实现对结果集的约束 行操作(六) Restrictions 通过调用静态方法返回Criteria或已实现其的子类的实例并实现对结果集的约束 disjunction()方法可以添加多个or连接的条件 conjunction()方法可以添加对个and连接的条件 sq
文档评论(0)