Java 持久化/持久化产品
外观
< Java 持久化
有许多持久化产品可供选择。大多数持久化产品现在都支持 JPA 接口,尽管仍然存在一些例外。您使用哪个产品取决于您的偏好,但大多数人建议您选择任何产品时都使用 JPA 标准。这使您可以灵活地切换持久化提供程序,或将您的应用程序移植到可能使用不同持久化提供程序的其他服务器平台。
确定使用哪个持久化产品涉及许多标准。需要考虑的有效事项包括
- 您的服务器平台支持并与之集成的持久化产品是什么?
- 产品的成本是多少,它是免费和开源的吗,您可以购买企业级支持和服务吗?
- 您是否与生产该产品的公司存在现有关系?
- 该产品是否活跃,并且拥有庞大的用户群?
- 该产品的性能和扩展性如何?
- 该产品是否与您的数据库平台集成?
- 该产品是否有活跃和开放的论坛,问题是否会得到有用的回复?
- 该产品是否符合 JPA 标准,该产品在 JPA 规范之外提供了哪些功能?
下表总结了现有的持久化产品。[1]
产品 | JPA 1.0 | JPA 2.0 | JPA 2.1 | JPA 2.2 | JDO 2.0 | JDO 3.0 | CMP 2.1 | 版本 | 上次发布年份 | 开源 | 应用服务器[2] | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ObjectDB (ObjectDB 软件) | 是 | 是 | 是 | 是 | 是 | |||||||
Hibernate (红帽) | 是 | 是 | 是 | 是 | 是 | JBoss AS/Wildfly | ||||||
EclipseLink (Eclipse) | 是 | 是 | 是 | 是 | 是 | Oracle Weblogic (12c), Glassfish (v3) | ||||||
TopLink (Oracle) | 是 | 是 | 是 | Oracle Weblogic (12c), OracleAS (10.1.3) | ||||||||
OpenJPA (Apache) | 是 | 是 | 是 | Geronimo, WebSphere Application Server (8.0) | ||||||||
DataNucleus (DataNucleus) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | |||||
TopLink Essentials (java.net) | 是 | 是 | Glassfish (v2), SunAS (9), OracleAS (10.1.3) | |||||||||
Kodo (Oracle) | 是 | 是 | Oracle WebLogic (10.3) |