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) |