JPOX 1.1.0 is the JDO2 "reference implementation". This means that it implements the JDO2 specification and passes the
JDO2 TCK. This means that it has reached a level of stability in terms of functionality.
Occasionally, due to unknown bugs, or due to new functionality being introduced we need to change
some aspects of JPOX. As a result sometimes users will have to make some changes to move
between versions of JPOX. We aim to keep this to a minimum.
Moving from JPOX 1.0.x to 1.1.0 will involve the following issues
Moving from JPOX 1.1.0 to 1.1.1 will involve the following issues
- A change was introduced with use of "increment" and "native" value strategies. The change provides a
JPOX extension MetaData setting to allow control over the "basis" of this strategy (class name or table name).
In some JPOX versions it was using table, whereas in recent it uses class by default.
- A minor change was introduced in the default JPOX naming of index columns when the user hadnt specified
the name. Up to and including 1.1.0 an index column would have been given the name "INTEGER_IDX" whereas
in 1.1.1 this was changed to "IDX". If this is inconvenient then you should specify the column name
of your columns (which is always a best practice anyway)
Moving from JPOX 1.1.1 to 1.1.2 will involve the following issues
- Level 2 caches are now pluggable and so the means of specifying them has changed. You still use
the PMF property "org.jpox.cache.level2.type" but in 1.1.2 you specify values of "default", "soft",
"tangosol", "ehcache", "ehcacheclassbased", "swarmcache", "oscache"
- All user-defined type classes would need some small updates so that they conform to the
new JPOX plugin mechanism
Moving from JPOX 1.1.2 to 1.1.3 will involve the following issues
- Level 1 caches are now pluggable and so the means of specifying them has changed. You still use
the PMF property "org.jpox.cache.level1.type" but in 1.1.3 you specify values of "soft", "weak" or "hard"
- The ClassLoaderResolver specification has changed. It was introduced in 1.1.1 and you specified the
PMF property "org.jpox.classLoaderResolverName" with the name of the class to use. In 1.1.3 you have to
specify your ClassLoaderResolver as a JPOX plugin and specify the "name" that it is defined in your
plugin.xml file as.
- All user-defined type classes will need to change to remove the constructors (now no longer needed)
and optionally add initialize() methods (only if providing their own specific initialisation)
Moving from JPOX 1.1.3 to 1.1.4 will involve the following issues
- Any simple arrays that didnt have a join table specified and weren't to be serialised
are now stored as plain byte arrays in the datastore (previously were serialised). If you require
the old behaviour (for accessing existing data, add serialized="true" to the field
Moving from JPOX 1.1.4 to 1.1.5 will involve the following issues
- It is now possible to use <order mapped-by="..."/> for List ordering specification.
- Any array field no longer needs <array/> specifying since it is inferrable.
Moving from JPOX 1.1.6 to 1.1.7 will involve the following issues
- The PMF property "org.jpox.query.allowAllSQLStaments" was spelt incorrectly and
is now "org.jpox.query.allowAllSQLStatements"