- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 实体查询.ppt
# * * * * * * * * * * * * * * * * * * * * 第 5 章 实体查询 本章目标 熟悉Query接口 掌握创建Query实例的方法 掌握设置查询参数的方法 掌握查询实体的方法 掌握分页查询的方法 掌握执行更新操作的方法 掌握JPQL查询实体部分属性的方法 掌握JPQL连接查询 掌握JPQL条件查询 了解JPQL函数和分组 了解JPQL子查询 掌握JPQL的UPDATE和DELETE语句 了解JPA SQL查询 实体查询API JPA实体查询主要通过javax.persistence.Query接口完成 设置FlushMode Query setFlushMode(FlushModeType flushMode) 根据参数位置设置Calendar类型的查询参数 Query setParameter(int position, Calendar Value, TemporalType temporalType) 根据参数位置设置Date类型的查询参数 Query setParameter(int position, Date Value, TemporalType temporalType) 根据参数位置设置查询参数 Query setParameter(int position, Object Value) 根据参数名称设置Calendar类型的查询参数 Query setParameter(String name, Calendar Value, TemporalType temporalType) 根据参数名称设置Date类型的查询参数 Query setParameter(String name, Date Value, TemporalType temporalType) 根据参数名称设置查询参数 Query setParameter(String name, Object Value) 设置查询提示,与具体厂商有关 Query setHint(String hintName, Object value) 设置查询结果中第一个对象的位置 Query setFirstResult(int startPosition) 设置查询结果中对象的最大数量 Query setMaxResults(int maxResult) 执行UPDATE或DELETE语句 int executeUpdate() 获得单一的查询结果 Object getSingleResult() 获得查询结果的集合 List getResultList() 说明 方法签名 获取Query实例 使用SQL语句创建,并指定多个实体类型 Query createNativeQuery(String sql, String resultSetMapping) 使用SQL语句创建,并指定单个实体类型 Query createNativeQuery(String sql, Class resultClass) 使用SQL语句创建Query Query createNativeQuery(String sql) 使用命名查询创建Query Query createNamedQuery(String name) 使用JPQL语句创建Query Query createQuery(String jpql) 说明 方法签名 EntityManager中用于创建Query实例的方法 JPA支持两种方式的查询: 动态查询:在运行期动态创建的查询; 命名查询:预先创建的具有特定名称的查询,运行时可以根据名称调用。 Query query = entityManager.createQuery(from Product); // 使用JPQL创建Query ListProduct list = (ListProduct)query.getResultList(); // 执行查询 动态查询: 命名查询 JPQL命名查询:@NamedQuery和@NamedQueries SQL命名查询: @NamedNativeQuery和@NamedNativeQueries @Entity @NamedQuery(name = allProducts, query = from Product) public class Product { ...... } Query query = entityManager.createNamedQuery(allProducts); @Entity @NamedQueries({ @NamedQuery(name = allProducts, query = from Prod
文档评论(0)