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 are transparently persisted. 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 J2EE 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.