查询实体
JPA提供了以下方法来查询实体:
■ Java持久化查询语言 (Java Persistence query language, JPQL),是一种简单的、基于字符串的语言,类似于SQL,可用来查询实体及他们的关系。更多信息,参见第34章, “The Java Persistence Query Language”。
■ Criteria API(查询条件API) 用来创建类型安全的查询,其使用JAVA语言的API来查询实体和他们的关系。更多信息,参见第35章, “使用查询条件API来创建查询。
JPQL和Criteria API都有各自的优点和缺点:
通常只有几行的JPQL查询一般来说更加精简,可读性也比Criteria查询要好,熟悉SQL的开发人员会感觉很容易就能学会JPQL的语法。JPQL命名查询可以在实体类中使用Java语言的注解,或者应用的部署描述符来定义。但是,JPQL查询不是类型安全的,从实体管理器取出查询结果时需要进行转换。这意味着编译期无法捕捉到类型转换错误。JPQL查询也不支持开放(open-ended)参数。
Criteria允许你在应用的业务层定义查询。虽然JPQL动态查询也可以这样做,但是Criteria查询性能更好,因为JPQL动态查询每次调用时必须进行转换。Criteria查询是类型安全的,所以不需要像JPQL查询那样强制转型。Criteria API只是另一组Java API,不
需要开发人员学习额外的查询语言。Criteria查询通常比JPQL要冗长,而且需要开发人员创建一些对象,并操作这些对象,然后再将查询提交到实体管理器。
关于持久化的更多信息
关于JPA的更多信息,参见:
■ JPA 2.0 规范 (Java Persistence 2.0 API specification)
http://jcp.org/en/jsr/detail?id=317
■ EclipseLink, GlassFish服务器中的JPA实现:
http://www.eclipse.org/eclipselink/jpa.php
■ EclipseLink 团队博客:
http://eclipselink.blogspot.com/
■ EclipseLink 百科文档:
http://wiki.eclipse.org/EclipseLink
分享到:
相关推荐
《Java EE 6 教程》是Oracle公司于2010年发布的一部详尽指导书籍,旨在帮助开发者深入理解和掌握Java Platform, Enterprise Edition(Java EE)平台的应用开发技术。Java EE 6作为企业级应用开发的标准框架,提供了...
《Java EE 5 Tutorial》是Java企业版5(Java Platform, Enterprise Edition 5)的一份官方教程,旨在帮助开发者深入理解和掌握Java EE平台的核心技术。这份文档详细介绍了如何使用Java EE 5进行分布式应用程序的开发...
### Java EE 6基础知识教程第四版重要知识点概览 #### 一、概述 《Java EE 6 Tutorial: Basic Concepts, Fourth Edition》是一本面向新手及中级Java开发者的指南书籍,旨在帮助他们深入理解Java平台企业版6(Java ...
Java EE 6(Java Platform, Enterprise Edition 6)是Java技术在企业级开发中的一个里程碑,它为构建可扩展、高性能、分布式的企业级应用程序提供了全面的框架和规范。本教程由Sun Microsystems(后被Oracle收购)...
The Java EE 5 Tutorial为学习Java EE 5的经典教材!一直由sun公司维护,不过为全英文版.
Java EE 6 APIs in the Java Platform, Standard Edition 6.0 31 GlassFish Server Tools 34 Chapter 2: Using the Tutorial Examples 37 Required Software 37 Starting and Stopping the GlassFish Server ...
根据给定的文件信息,我们将深入探讨与Java EE 7教程相关的关键知识点,这将包括对Java EE平台的理解、其核心组件以及版本7所引入的新特性。 ### Java EE(Java Platform, Enterprise Edition)概述 Java EE是Java...
《The Java EE 7 Tutorial》是一份针对Java EE 7平台的官方教程,旨在帮助开发者掌握Java EE 7的最新技术。Java EE(Java Platform, Enterprise Edition)是一个用来开发企业级应用的平台,它包括了一系列的标准和...
《Java EE 6 教程,第一卷》是Sun Microsystems为开发者提供的一份详尽的指南,旨在深入解析Java EE 6平台的基本概念、架构和关键特性。此教程由Sun Microsystems编写,出版于2009年,是理解Java企业版(Java EE)第...
4. **JPA 2.1**:Java Persistence API(JPA)2.1版本强化了对数据库查询的处理,包括新增的特性如Temporal类型支持(用于日期和时间的存储),以及Entity Graph功能,用于优化加载策略。 5. **EJB 3.2**:...
《Java EE 5 Tutorial》是Java企业版5(Java Platform, Enterprise Edition 5,简称Java EE 5)的官方教程,旨在帮助开发者理解和掌握在Java平台上构建分布式、多层的企业级应用程序。本教程以CHM(Compiled ...
在Java EE 6 tutorial的example代码中,这个文件可能详细阐述了使用、修改和分发这些代码的条款和条件。阅读并遵守这些许可条款对于合法使用这些学习资源至关重要。 "examples"目录是核心部分,它包含了各种Java EE...
### Java EE 6 教程(第一卷):基础知识概览 #### 一、概述 《Java EE 6 教程》(第一卷)是一本详细介绍Java Platform, Enterprise Edition (Java EE) 6版本的基础概念和技术细节的专业书籍。本书由Sun ...
《Java EE5 Tutorial》是Java企业版5(Java EE 5)的重要教程,它为开发者提供了详尽的指导,帮助他们理解和掌握Java EE 5平台的核心技术和开发实践。本教程以CHM(Microsoft Compiled HTML Help)格式呈现,方便在...