WEB开发网
开发学院软件开发Java Java Persistence API 中带注释的命名查询是否真的... 阅读

Java Persistence API 中带注释的命名查询是否真的非常有用?

 2009-10-23 00:00:00 来源:WEB开发网   
核心提示:对注释的注释Java Persistence API (JPA) 定义了访问数据的多种方法:通过实体管理器、通过 JPA-QL 或通过本机查询,在 JPA 中,Java Persistence API 中带注释的命名查询是否真的非常有用?,注释用作将 Java 对象映射到底层数据库的一种机制,您还可以提供 XML 元数

对注释的注释

Java Persistence API (JPA) 定义了访问数据的多种方法:通过实体管理器、通过 JPA-QL 或通过本机查询。在 JPA 中,注释用作将 Java 对象映射到底层数据库的一种机制。您还可以提供 XML 元数据作为映射注释的覆盖或备选机制。不过,我看到的大多数 JPA 使用情况都明显喜欢使用注释。规范文档使用注释,而不使用基于 XML 的映射示例(仅向您显示 XML 模式)来表示所有示例这一事实可能是覆盖的原因之一。创建对象关系映射,以便从 Java 对象模型抽象底层数据库的详细信息。不过,JPA 可以让数据库详细信息快速返回到 Java 源。在本文中,将检查 JPA 中的各种查询样式,解释它们存在的原因,并解释为什么对某些样式(如命名查询)进行注释没有任何意义。最后得出的结论是,这个小示例实际上是更大的问题的一部分。

使用 JPA 访问数据

让我们快速浏览一下使用 JPA 访问数据的各种方法,假定您非常熟悉在 JPA 中映射 Java 对象的方式。

EntityManager

应用程序在运行时与 Java 对象交互。通过使用称为实体管理器的特殊对象,应用程序可以查询或保持对象。EntityManager 实例与永久性上下文关联。在永久性上下文中,实体实例及其生命周期得到管理。可以认为 EntityManager 是底层永久性机制的 Facade。EntityManager 包含访问数据的必要方法。最简单的访问持久性数据的方法是使用 find 方法。下面是使用实体管理器通过主键查找对象的应用程序示例:

Customer customer = (Customer)em.find(Customer.class,customerId);

find 方法要求您知道主键和实际类的类型。

JPA-QL 查询

JPA 还拥有可以用于对象模型的全功能查询语言。JPA 查询语言包含许多用于更复杂查询的功能。可以通过动态方式将查询传递到实体管理器:

1 2 3 4 5  下一页

Tags:Java Persistence API

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接