Pular para o conteúdo

Conheça Walt Disney World

'''Java Data Objects''' ('''JDO''') is a specification of Java object Persistence. One of its features is a transparency of the persistent services to the Domain_model. JDO persistent objects are ordinary Java_programming_language classes; there's no requirement for them to implement certain interfaces or extend from special classes. JDO 1.0 was developed under the Java_Community_Process as JSR 12. As_of_2004, JDO 2.0 is being developed under JSR 243. 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 RDBMS, to OODB, to files. JDO enhanced classes are portable across different vendors' implementation. Once enhanced Java class can be used with any vendor's JDO product. JDO is integrated with Java EE in several ways. First of all, the vendor implementation may be provided as a J2EE Connector. Secondly, JDO may work in the context of J2EE transaction services. == JDO vs. EJB3 == Early versions of the Enterprise_Java_Beans 3.0 (EJB3) specification also covered persistence, as had EJB v2 with Entity Beans. There has been standards conflict between the two standards bodies in terms of pre-eminence. JDO has several commercial implementations. EJB 3.0 is still under development. In the end, persistence has been "broken out" of "EJB3 Core", and a new standard formed, the Java Persistence API (JPA). JPA uses the javax.persistence package, and is specified in a separate document within the EJB3 JSR 220. Significantly, javax.persistence will NOT require an EJB container and thus work within a J2SE environment as well, as JDO always has. JPA however is an Object-relational_mapping (ORM) standard, not a transparent object persistence standard like JDO, which from an API point of view is agnostic to the technology of the underlying datastore. Leading JDO commercial implementations and open source projects will and some already are offering a JPA API implementation as an alternative access to their underlying persistence engines, formerly exposed via JDO only in the original products. There are many open source implementations of JDO. == JDO v2 News over v1 == * Disconnected Object Graphs concept * 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 java.sql.Connection from javax.jdo.PersistenceManager * More: Named Queries (pm.newNamedQuery), FetchPlan, Sequence, Delete by Query, multiple User Objects on PM == See also == * Object-relational_mapping * Object_database == External links == === Specifications === * JDO Home page at Sun's Web site * JSR 243: JDO 2.0 Specification * JSR 12: JDO 1.0 Specification === Implementations === ==== Open Source ==== * JPOX – Open Source JDO 2 reference implementation (ORM) * Eclipse JSR 220 ORM – (formerly Versant Open Access which was formerly Hemisphere Technologies JDO Genie) * Orient TechnologiesODBMS with JDO interface * JDOinstruments ODBMS with JDO interface ==== Commercial ==== * intelliBO by Signsoft (ORM JDO Implementation) * SolarMetric Kodo JDO – now BEA (ORM JDO Implementation) * Xcalia Intermediation Core (XIC) JDO expanded to databases and services (web and otherwise), facilitating SOA (ORM and dynamic composition-based JDO Implementation) * ObjectDB – Object Database for Java/JDO (ODBMS with JDO interface) * Versant Object Database – Object Database for Java/JDO (ODBMS with JDO interface) === Communities, Books, etc. === * JDOcentral.com Community Site * JavaPersistence Community Site * Core Java Data Objects – one of several books covering JDO Data Objects Data Objects Data Objects De:Java_Data_Objects Fr:Java_Data_Object Pt:JDO