Java Persistence API 中带注释的命名查询是否真的非常有用?
2009-10-23 00:00:00 来源:WEB开发网对注释的注释
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 查询语言包含许多用于更复杂查询的功能。可以通过动态方式将查询传递到实体管理器:
Tags:Java Persistence API
编辑录入:爽爽 [复制链接] [打 印]- ››JavaScript拖拽原理的实现
- ››javascript事件列表解说
- ››Javascript代码优化工具UglifyJS
- ››Java Bean属性值动态设置
- ››JavaScript Confirm 失效的解决办法
- ››JavaScript页面内拖拽原理分析
- ››javascript中select的常用操作
- ››javascript+css无刷新实现页面样式的更换
- ››Java Web Services:不使用客户端证书的WS-Securit...
- ››Java开发2.0: 使用Amazon SimpleDB实现云存储,第...
- ››Java异常处理及其应用
- ››Java中遍历大容量map的正确方法
更多精彩
赞助商链接