Content deleted Content added
m Moving Category:Object-relational mapping to Category:Object–relational mapping per Wikipedia:Categories for discussion/Speedy |
|||
(8 intermediate revisions by 8 users not shown) | |||
Line 1:
{{Short description|Specification of Java object persistence}}
{{No footnotes|date=June 2010}}
'''Java Data Objects''' ('''JDO''') is a specification of [[Java platform|Java]] [[object (computer science)|object]] [[Persistence (computer science)|persistence]]. One of its features is a transparency of the persistence services to the [[___domain model]]. JDO persistent objects are ordinary [[Java (programming language)|Java programming language]] [[class (computer science)|classes]] ([[Plain
Object persistence is defined in the external [[XML]] metafiles, which may have vendor-specific extensions. JDO vendors provide developers with ''enhancers'', which modify compiled Java class files so they can be transparently persisted. (Note that byte-code enhancement is not mandated by the JDO specification, although it is the commonly used mechanism for implementing the JDO specification's requirements.) Currently, JDO vendors offer several options for persistence, e.g. to [[Relational database|RDBMS]], to [[Object database|OODB]], or to [[Computer file|files]].
Line 9 ⟶ 10:
== JDO vs. EJB3 vs. JPA ==
[[Enterprise JavaBeans]] 3.0 (EJB3) specification also covered persistence, as had EJB v2 with [[Entity Bean]]s. There have been standards
In the end, persistence has been "broken out" of "EJB3 Core", and a new standard formed, the [[Java Persistence API]] (JPA). JPA uses the <code>javax.persistence</code> package, and was first specified in a separate document within the EJB3 spec [http://www.jcp.org/en/jsr/detail?id=220 JSR 220], but was later moved to its own spec [http://www.jcp.org/en/jsr/detail?id=317 JSR 317]. Significantly, <code>javax.persistence</code> will '''not''' require an EJB container, and thus will work within a Java SE environment as well, as JDO always has. JPA, however, is an [[object-relational mapping]] (ORM) standard, while JDO is both an object-relational mapping standard and a transparent object persistence standard. JDO, from an API point of view, is agnostic to the technology of the underlying datastore, whereas JPA is targeted to RDBMS datastores (although there are several JPA providers that support access to non-relational datastores through the JPA API, such as DataNucleus and ObjectDB).
Line 20 ⟶ 21:
* Standardized ORM mapping descriptors (for ORM-based JDO implementations)
* JDOQL Enhancements (Single String Form; more String, Map & Math methods support mandated)
* Get e.g. a {{Javadoc:SE|java/sql|Connection|module=java.sql}} from <code>javax.jdo.PersistenceManager</code>
* More: Named Queries (pm.newNamedQuery), FetchPlan, Sequence, Delete by Query, multiple User Objects on PM
Line 29 ⟶ 30:
* JDO 2.1 : JPOX 1.2
* JDO 2.2 : [[DataNucleus]] AccessPlatform 1.0.1
* JDO 3.0 : [[DataNucleus]] AccessPlatform 2.1.0
* JDO 3.1 : [[DataNucleus]] AccessPlatform 3.2.0
* JDO 3.2 : [[DataNucleus]] AccessPlatform 5.2.0
== See also ==
Line 37 ⟶ 40:
* [[DataNucleus]]
* [[ObjectDB]]
*
==Bibliography==
Line 72 ⟶ 75:
}}
* {{cite book
|
|
|
|
|
|
|
|
|
|access-date = February 8, 2010
|archive-date = December 23, 2010
|archive-url = https://web.archive.org/web/20101223171047/http://apress.com/book/view/9781590590430
|url-status = dead
}}
{{refend}}
Line 92 ⟶ 99:
{{Authority control}}
[[Category:
[[Category:Java enterprise platform|Data Objects]]
[[Category:Java specification requests|Data Objects]]
|