<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Java%E6%8C%81%E4%B9%85%E5%8C%96API</id>
	<title>Java持久化API - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Java%E6%8C%81%E4%B9%85%E5%8C%96API"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Java%E6%8C%81%E4%B9%85%E5%8C%96API&amp;action=history"/>
	<updated>2026-07-13T04:59:16Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Java%E6%8C%81%E4%B9%85%E5%8C%96API&amp;diff=3093610&amp;oldid=prev</id>
		<title>imported&gt;Peterxy：​修饰语句</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Java%E6%8C%81%E4%B9%85%E5%8C%96API&amp;diff=3093610&amp;oldid=prev"/>
		<updated>2025-08-01T05:02:12Z</updated>

		<summary type="html">&lt;p&gt;修饰语句&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA&lt;br /&gt;
| G1 = it&lt;br /&gt;
}}{{copyedit|time=2018-07-29T04:01:29+00:00}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Java持久化API&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;JPA&amp;#039;&amp;#039;&amp;#039;）是一个[[Java]][[应用程序接口]]规范，描述了使用[[Java SE|Java标准版平台]]（Java SE）和[[Jakarta EE|Java企业版平台]]（Java EE）的应用中的[[Jakarta EE|关系数据]]的管理。&lt;br /&gt;
&lt;br /&gt;
[[持久化]]，在这里包括三个层面的意思：&lt;br /&gt;
&lt;br /&gt;
* [[應用程式介面|API]]本身，定义在&amp;lt;code&amp;gt;javax.persistence&amp;lt;/code&amp;gt;包&amp;lt;tt&amp;gt;内&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Java持久化查询语言（JPQL）&lt;br /&gt;
* 对象/关系元数据&lt;br /&gt;
&lt;br /&gt;
JPA的[[参考实现]]是{{link-en|EclipseLink|EclipseLink}}。&lt;br /&gt;
&lt;br /&gt;
== 历史背景 ==&lt;br /&gt;
2006年5月11号，JPA 1.0规范作为JCP JSR 220的一部分最终被发布。JPA 2.0规范，在2009年12月发布（Java EE 6平台，依赖于JPA 2.0）。JPA 2.1规范，在2013年4月22日发布（Java EE 7平台，依赖于JPA 2.1&amp;lt;ref&amp;gt;{{cite web|url=https://docs.oracle.com/javaee/7/tutorial/overview007.htm|title=JavaEE 7 tutorial|publisher=Oracle|accessdate=2018-07-29|archive-date=2018-10-02|archive-url=https://web.archive.org/web/20181002022440/https://docs.oracle.com/javaee/7/tutorial/overview007.htm|dead-url=no}}&amp;lt;/ref&amp;gt;）。JPA 2.2规范，于2017年夏季发布。&lt;br /&gt;
&lt;br /&gt;
== 实体 ==&lt;br /&gt;
持久化实体是一个轻量级的Java类，其状态通常持久地保存到关系数据库的表中。这种实体的实例对应于表中的各个行。实体之间通常有关系，这些关系通过对象/关系元数据表示。可以在实体类文件中直接使用注释来指定这种关系，也可以在随应用程式分发的单独XML描述文件中指定。&lt;br /&gt;
&lt;br /&gt;
=== 範例 ===&lt;br /&gt;
用注釋宣告含有對象/關係元數據的實體類 (省略import語句、setters/getters方法)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
public class Person {&lt;br /&gt;
    @Id&lt;br /&gt;
    private long id;&lt;br /&gt;
    private String firstName;&lt;br /&gt;
    private String lastName;&lt;br /&gt;
    private int age;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;@Entity&amp;lt;/code&amp;gt; 宣告類為一個實體，&amp;lt;code&amp;gt;@Id&amp;lt;/code&amp;gt; 宣告該屬性為[[主鍵]]，例如: 此處的&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; 就是這個實體的[[主鍵]]。另外可以再用其他 注釋來宣告元數據(例如: 使用&amp;lt;code&amp;gt;Table&amp;lt;/code&amp;gt;來變更預設的資料表名稱)，或建立表與表之間的關聯。&lt;br /&gt;
&lt;br /&gt;
== Java 持久化查询语言（JPQL） ==&lt;br /&gt;
Java持久化查询语言（JPQL）对存储在关系数据库中的实体进行查询。查询在语法上类似于SQL查询，但是操作的是实体对象而不是直接对数据库表进行操作。&lt;br /&gt;
&lt;br /&gt;
== 动机 ==&lt;br /&gt;
在引入EJB 3.0规范之前，许多企业级Java开发人员使用由持久化框架（例如Hibernate）或数据访问对象（DAO）提供的轻量级持久化对象，来代替实体bean（EJB的一种）。 这是因为在以前的EJB规范中，实体bean需要太多复杂的代码和繁重的资源占用，并且由于bean和DAO对象或持久化框架之间的源代码中的互连和依赖性，它们只能在Java EE应用程式服务器中使用。 因此，最初在第三方持久性框架中提供的许多功能都被合并到Java持久化API中，并且从2006年开始，像Hibernate（版本3.2）和TopLink Essentials这样的项目已经实现Java持久化API规范。&lt;br /&gt;
&lt;br /&gt;
== 相关技术 ==&lt;br /&gt;
&lt;br /&gt;
=== 企业 JavaBeans（EJB） ===&lt;br /&gt;
EJB 3.0规范（本身是Java EE 5平台的一部分）包含Java持久化API的定义。 无论如何，终端用户不需要EJB容器或Java EE应用程式服务器即可运行使用此持久性API的应用程式。&amp;lt;ref&amp;gt;[http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html_single/#architecture-javase Hibernate EntityManager: Java SE environments] {{Wayback|url=http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html_single/#architecture-javase |date=20190601084640 }}&amp;lt;br /&amp;gt;[http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html_single/#d0e980 Hibernate EntityManager: Obtaining an EntityManager in a Java SE environment] {{Wayback|url=http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html_single/#d0e980 |date=20190601084640 }}&amp;lt;/ref&amp;gt; Java持久化 API的未来版本将在单独的JSR和规范中定义，而不是在EJB JSR /规范中定义。&lt;br /&gt;
&lt;br /&gt;
Java持久化API取代了EJB 2.0 CMP（持久化管理容器）的持久性解决方案&lt;br /&gt;
&lt;br /&gt;
=== Java数据对象的API ===&lt;br /&gt;
Java持久化API作为统一Java Data Objects API和EJB 2.0容器管理持久性（CMP）API的一部分来开发。截至2009年，支持这些API的大多数产品都支持Java持久化API。&lt;br /&gt;
&lt;br /&gt;
Java持久化API仅为关系数据库管理系统提供持久化特性。也就是说，JPA专注于对象关系映射（ORM）（请注意，除了关系数据库之外，还有JPA提供程式支持其他数据库模型，但这超出了JPA的设计范围）。有关JPA角色的说明，请参阅JPA 2规范第1节简介，其中非常清楚地说明“这项工作的技术目标是为Java应用程式开发人员提供一个对象/关系映射工具，使用Java领域模型来管理关系数据库。”&lt;br /&gt;
&lt;br /&gt;
Java数据对象规范支持ORM，以及对其他类型的数据库模型的持久化，例如平面文件数据库和NoSQL数据库，包括文档数据库，图形数据库，以及字面上任何其他可想到的数据存储。&lt;br /&gt;
&lt;br /&gt;
=== 服务数据对象 API ===&lt;br /&gt;
Java持久化API的设计者旨在提供关系持久化，其中许多关键领域来自对象关系映射工具，如Hibernate和TopLink。Java持久化API改进并取代了EJB 2.0，其体现在EJB 3.0中。服务数据对象（SDO）API（JSR 235）与Java持久化API有着截然不同的目标，被认为是互补的。&amp;lt;ref&amp;gt;{{Cite web|url=http://charltonb.typepad.com/weblog/2007/10/sdo-and-jpa.html|title=SDO and JPA|accessdate=5 May 2011|last=Barreto|first=Charlton|work=Digital Walkabout|archiveurl=https://web.archive.org/web/20110813112451/http://charltonb.typepad.com/weblog/2007/10/sdo-and-jpa.html|archivedate=2011-08-13|dead-url=no}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web|url=http://www.osoa.org/display/Main/SDO+and+Java+Persistence+Architecture+%28JPA%29|title=SDO and Java Persistence Architecture (JPA)|accessdate=5 May 2011|last=Edwards|first=Mike|work=Open SOA|publisher=osoa.org|archive-date=2011-09-29|archive-url=https://web.archive.org/web/20110929221810/http://www.osoa.org/display/Main/SDO+and+Java+Persistence+Architecture+(JPA)|dead-url=no}}&amp;lt;/ref&amp;gt;SDO API专为面向服务的体系结构，多种数据格式而非关系数据和多种编程语言而设计。JCP管理SDO API的Java版本；SDO API的C++版本通过OASIS进行管理。&lt;br /&gt;
&lt;br /&gt;
=== Hibernate ===&lt;br /&gt;
Hibernate为Java提供了一个开源的对象关系映射框架。版本3.2及更高版本提供了Java 持久化 API的实现。Gavin King创立了Hibernate项目。&amp;lt;ref&amp;gt;{{Cite book|url=https://books.google.com/books?id=EWVnnAEACAAJ|title=Java Persistence with Hibernate|publisher=Manning Publications|accessdate=8 December 2013|isbn=9781617290459|quote=Gavin King is the founder of the Hibernate project|archive-date=2019-06-05|archive-url=https://web.archive.org/web/20190605104413/https://books.google.com/books?id=EWVnnAEACAAJ|dead-url=no}}&amp;lt;/ref&amp;gt;他代表JBoss参加JSR 220，这是负责开发JPA的JCP专家组。&amp;lt;ref&amp;gt;{{Cite web|url=http://www.jboss.com/company/leadership|title=JBoss.com - Industry Leadership|accessdate=2008-11-17|publisher=JBoss|quote=JSR 220, EJB 3.0 Spec Committee, Gavin King, Bill Burke, Marc Fleury|archive-date=2012-10-01|archive-url=https://web.archive.org/web/20121001072413/http://www.jboss.com/company/leadership/|dead-url=no}}&amp;lt;/ref&amp;gt;这引发了围绕JPA和Hibernate之间关系的持续争议和猜测。Sun Microsystems表示&amp;lt;ref&amp;gt;{{Cite web|url=http://java.sun.com/javaee/overview/faq/persistence.jsp|title=Java Persistence API FAQ|accessdate=2010-07-01|publisher=Sun Microsystems|archiveurl=https://web.archive.org/web/20080822023926/http://java.sun.com/javaee/overview/faq/persistence.jsp|archivedate=2008-08-22|quote=The Java Persistence API draws upon the best ideas from persistence technologies such as Hibernate, TopLink, and JDO|dead-url=no}}&amp;lt;/ref&amp;gt;，这些想法来自几个框架，包括Hibernate和Java 数据对象。&lt;br /&gt;
&lt;br /&gt;
=== Spring Data JPA ===&lt;br /&gt;
抽象存储库的实现是Java应用程式框架Spring的领域驱动设计的关键构建块。透明地支持所有可用的JPA实现，并支持CRUD操作以及方便地执行数据库查询。&lt;br /&gt;
&lt;br /&gt;
== JPA 2.0 ==&lt;br /&gt;
2007年7月，JPA 2.0 在JCP的JSR 317请求中作为新版本开发。2009年12月10日，JPA 2.0被批准为最终正式标准。JPA 2.0的重点是提供一些流行的ORM供应商中存在的特性，但在JPA 1.0中不能获得一致认可。&lt;br /&gt;
&lt;br /&gt;
主要特性包括：&lt;br /&gt;
&lt;br /&gt;
* 扩大对象关系功能的映射&lt;br /&gt;
** 支持内嵌对象的收集，通过多对一的关系映射来连接ORM&lt;br /&gt;
** 有序列表&lt;br /&gt;
** 访问类型的组合&lt;br /&gt;
* 一种标准查询API&lt;br /&gt;
* 标准化的SQL提示&lt;br /&gt;
* 标准化的附加元数据，以支持DDL生成&lt;br /&gt;
* 支持验证&lt;br /&gt;
* 支持共享对象的高速缓存&lt;br /&gt;
&lt;br /&gt;
支持JPA 2.0的供应商:&lt;br /&gt;
&lt;br /&gt;
* Batoo JPA&lt;br /&gt;
* DataNucleus (formerly JPOX)&lt;br /&gt;
* EclipseLink (formerly [[TopLink|Oracle TopLink]])&lt;br /&gt;
* [[IBM]], for [[IBM WebSphere Application Server|WebSphere Application Server]]&amp;lt;ref&amp;gt;{{Cite web|url=http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&amp;amp;infotype=an&amp;amp;appname=iSource&amp;amp;supplier=897&amp;amp;letternum=ENUS210-129|title=IBM WebSphere Application Server V7 Feature Pack for OSGi Applications and Java Persistence API|accessdate=8 December 2013|date=27 April 2010|work=Download web site|publisher=IBM|archive-date=2019-06-10|archive-url=https://web.archive.org/web/20190610231731/http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&amp;amp;infotype=an&amp;amp;appname=iSource&amp;amp;supplier=897&amp;amp;letternum=ENUS210-129|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[WildFly|JBoss]] with [[Hibernate]]&lt;br /&gt;
* [https://github.com/impetus-opensource/Kundera Kundera] {{Wayback|url=https://github.com/impetus-opensource/Kundera |date=20170222073553 }}&lt;br /&gt;
* ObjectDB&lt;br /&gt;
* OpenJPA&lt;br /&gt;
* OrientDB from Orient Technologies&lt;br /&gt;
* Versant Corporation JPA (not relational, object database)&amp;lt;ref&amp;gt;{{Cite web|url=http://community.versant.com/jpa.aspx|title=Versant JPA 2-Step Download|accessdate=8 December 2013|work=Download web site|publisher=[[Actian]]|archive-date=2013-12-08|archive-url=http://archive.wikiwix.com/cache/20131208025012/http://community.versant.com/jpa.aspx|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JPA 2.1 ==&lt;br /&gt;
2011年7月，JPA 2.1 在JCP的JSR 338请求中作为新版本开发。2013年5月22日，JPA 2.1被批准为最终正式标准。&lt;br /&gt;
&lt;br /&gt;
主要特性包括：&lt;br /&gt;
&lt;br /&gt;
* 转换器-允许自定义的代码去装换不同的数据库和数据类型。&lt;br /&gt;
* 标准Update/Delete-允许通过标准API批量更新和删除。&lt;br /&gt;
* 实体图表-允许获取部分或合并对象。&lt;br /&gt;
* JPQL/标准增强-算子查询，通用数据库的功能，Join 联合查询，TREAT 选项。&lt;br /&gt;
* 模式生成&lt;br /&gt;
* 存储过程，允许查询被定义为数据库的存储过程。&lt;br /&gt;
&lt;br /&gt;
支持JPA 2.1 的供应商:&lt;br /&gt;
&lt;br /&gt;
* DataNucleus&lt;br /&gt;
* EclipseLink&lt;br /&gt;
* Hibernate&lt;br /&gt;
&lt;br /&gt;
== JPA 2.2 ==&lt;br /&gt;
2017年，JPA 2.2在JCP的JSR 338请求中作为维护版本发布开发。维护审查已于2017年6月19日获得批准。&lt;br /&gt;
&lt;br /&gt;
主要特性包括：&lt;br /&gt;
&lt;br /&gt;
* 给所有有关的注释添加&amp;lt;code&amp;gt;@Repeatable&amp;lt;/code&amp;gt;&lt;br /&gt;
* 允许所有JPA注释可用于元的注释。&lt;br /&gt;
* 添加查询结果流处理能力&lt;br /&gt;
* 允许AttributeConverters的CDI注入&lt;br /&gt;
* 支持Java 8的日期和时间类型&lt;br /&gt;
&lt;br /&gt;
支持JPA 2.2的供应商:&lt;br /&gt;
&lt;br /&gt;
* DataNucleus&lt;br /&gt;
* EclipseLink（自2.7版本以來）&lt;br /&gt;
* [[Hibernate]] （自5.3版本以來）&lt;br /&gt;
&lt;br /&gt;
== JPA的未来工作 ==&lt;br /&gt;
未来的JPA规范信息可在此处获得：&lt;br /&gt;
&lt;br /&gt;
* JPA Specification Mailing Lists &lt;br /&gt;
* JPA Specification JIRA&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2015年11月，Linda DeMichiel在javaee-spec用户邮件中宣布Lukas Jungmann接任规范化主管。Linda的声明还表示，“计划在Java EE 8时间框架内为JPA 2.2做MR”。&amp;lt;ref&amp;gt;{{Cite web|url=https://java.net/projects/javaee-spec/lists/users/archive/2015-11/message/1|title=Java EE Platform Specification: users@javaee-spec.java.net: Archive — Project Kenai|accessdate=2016-11-08|archive-date=2016-11-09|archive-url=https://web.archive.org/web/20161109023844/https://java.net/projects/javaee-spec/lists/users/archive/2015-11/message/1|dead-url=no}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Citation|last=Java|title=JavaOne LIVE - Tuesday, Mission|date=2015-10-27|url=https://www.youtube.com/watch?v=1OKEpg5zpsU#t=4h19m26s|access-date=2016-11-08|archive-date=2019-02-16|archive-url=https://web.archive.org/web/20190216202400/https://www.youtube.com/watch?v=1OKEpg5zpsU#t=4h19m26s|dead-url=no}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite news|url=https://events.rainfocus.com/oow15/catalog/oracle.jsp?event=javaone&amp;amp;search=jungmann&amp;amp;search.event=javaoneEvent|title=What’s New in the Java Persistence API (JSR 338) [CON7631]|last=Jungmann|first=Lukas|date=10 October 2015|work=JavaOne 2015 Session Catalog|via=rainfocus.com|accessdate=2016-11-08|archive-url=https://web.archive.org/web/20161109083929/https://events.rainfocus.com/oow15/catalog/oracle.jsp?event=javaone&amp;amp;search=jungmann&amp;amp;search.event=javaoneEvent|archive-date=2016-11-09|dead-url=yes}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 工具 ==&lt;br /&gt;
&lt;br /&gt;
* NetBeans Jeddict&lt;br /&gt;
* Eclipse JPA（Dali）&lt;br /&gt;
&lt;br /&gt;
== 参见 ==&lt;br /&gt;
&lt;br /&gt;
* .NET Persistence API（NPA）&lt;br /&gt;
* [[Java数据库连接|JDBC]]&lt;br /&gt;
* [[MyBatis]]&lt;br /&gt;
* OpenXava&lt;br /&gt;
* [[IBM DB2|pureQuery]]&lt;br /&gt;
* [[SAP Web应用服务器|SAP NetWeaver Application Server]]&lt;br /&gt;
* XQJ&lt;br /&gt;
* [https://github.com/braisdom/ObjectiveSql ObjectiveSql] {{Wayback|url=https://github.com/braisdom/ObjectiveSql |date=20201229135311 }}&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
&lt;br /&gt;
=== 一般信息 ===&lt;br /&gt;
&lt;br /&gt;
* [http://jcp.org/aboutJava/communityprocess/final/jsr220/index.html Documentation for the final version of the EJB3 spec (called JSR220)] {{Wayback|url=http://jcp.org/aboutJava/communityprocess/final/jsr220/index.html |date=20200426220450 }}&lt;br /&gt;
* [http://glassfish.dev.java.net/javaee5/persistence/ GlassFish&amp;#039;s Persistence page]{{Webarchive|url=https://archive.today/20130112000920/http://glassfish.java.net/javaee5/persistence/ |date=2013-01-12 }}&lt;br /&gt;
* [http://jcp.org/aboutJava/communityprocess/final/jsr317/index.html JCP Persistence page] {{Wayback|url=http://jcp.org/aboutJava/communityprocess/final/jsr317/index.html |date=20210119165310 }}&lt;br /&gt;
&lt;br /&gt;
=== 教程 ===&lt;br /&gt;
&lt;br /&gt;
* [http://docs.oracle.com/javaee/6/api/javax/persistence/package-summary.html Java EE 6 Persistence API Javadoc]{{Wayback|url=http://docs.oracle.com/javaee/6/api/javax/persistence/package-summary.html |date=20120820044211 }}&lt;br /&gt;
* [http://docs.oracle.com/javaee/6/tutorial/doc/bnbpy.html Java EE 6 Persistence API tutorial] {{Wayback|url=http://docs.oracle.com/javaee/6/tutorial/doc/bnbpy.html |date=20200508012524 }}&lt;br /&gt;
* [http://docs.oracle.com/javaee/7/api/javax/persistence/package-summary.html Java EE 7 Persistence API Javadoc] {{Wayback|url=http://docs.oracle.com/javaee/7/api/javax/persistence/package-summary.html |date=20200924194326 }}&lt;br /&gt;
* [http://docs.oracle.com/javaee/7/tutorial/partpersist.htm Java EE 7 Persistence API tutorial] {{Wayback|url=http://docs.oracle.com/javaee/7/tutorial/partpersist.htm |date=20190402121325 }}&lt;br /&gt;
* [http://www.thejavageek.com/jpa-tutorials/ JPA Tutorial by Prasad Kharkar] {{Wayback|url=http://www.thejavageek.com/jpa-tutorials/ |date=20200728085039 }}&lt;br /&gt;
* [http://www.javacodegeeks.com/2015/02/jpa-tutorial.html JPA Tutorial from Java Code Geeks] {{Wayback|url=http://www.javacodegeeks.com/2015/02/jpa-tutorial.html |date=20201108103920 }}&lt;br /&gt;
* [http://www.coderpanda.com/jpa-tutorial/ JPA Tutorial using OpenJPA as implementation] {{Wayback|url=http://www.coderpanda.com/jpa-tutorial/ |date=20201204102244 }}&lt;br /&gt;
* [http://java.sun.com/javaee/5/docs/tutorial/doc/?wp406141&amp;amp;JavaEETutorialPartFour.html#wp996871 Persistence in the Java EE 5 tutorial]{{Wayback|url=http://java.sun.com/javaee/5/docs/tutorial/doc/?wp406141&amp;amp;JavaEETutorialPartFour.html#wp996871 |date=20191017191350 }}&lt;br /&gt;
[[Category:Java企业平台]]&lt;br /&gt;
[[Category:Java规范请求]]&lt;br /&gt;
[[Category:对象关系映射]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Peterxy</name></author>
	</entry>
</feed>