Oracle has donated a large part of Kodo's persistence kernel and JPA bindings to the Apache Software Foundation as the OpenJPA project. The 4.1 release of Kodo now deploys on top of the standard OpenJPA jars, adding extended features and performance enhancements. This deployment style allows you to build a custom OpenJPA jar from source while continuing to use Kodo's commercial features; however, it has many important consequences for users upgrading from Kodo 4.0:
Kodo's library dependencies have changed. You must include the OpenJPA jar and the various open source jars OpenJPA depends on in your classpath for all development and runtime use of Kodo. See Appendix 6, Development and Runtime Libraries for details.
Kodo 4.1 uses OpenJPA's JPA bindings. Interfaces such as
have generally been deprecated in favor of their OpenJPA
equivalents. Kodo 4.1 does provide backwards-compatible
wrappers, however. Set the
provider in your
persistence.xml file to the Kodo 4.0
in place of the
to use the backwards-compatible
Most of the Kodo-specific annotations for extended JPA metadata
and mappings in Kodo 4.0 have moved to OpenJPA. The annotations
have the same names, but are in the
instead of the
kodo.persistence.jdbc packages. Change your
imports to use the OpenJPA versions. Some annotations remain
in the Kodo packages: these annotations represent mappings
and metadata constructs that were not donated to OpenJPA, and
are only available in the commercial Kodo product.
The default sequence table names have changed. By default,
Kodo 4.0 used a global sequence table called
KODO_SEQUENCE_TABLE, and/or a per-class
sequence tbale called
Kodo 4.1 uses OpenJPA's sequencing, which uses tables called
Table property of Kodo's sequencing
plugins to set the old names. For example:
Some constants using the
kodo.* prefix have
changed to use
openjpa.*. Examples include
the query language
openjpa.MethodQL and the
Oracle query hint
Some advanced settings of the
are now configurable via the
kodo.jdbc.SQLFactory property instead.
See Section 4.5, “SQLFactory Properties” for
You must recompile and re-enhance all persistent classes used in previous versions of Kodo due to changes in the enhancement scheme.
Finally, Kodo 4.1 also implements the final JDO 2 specification. Some JDO APIs and behaviors may have changed slightly from darft specification versions.