Share

XORM

File Release Notes and Changelog

Release Name: Beta 6

Notes:


Changes: * General: o Upgraded to JDOM beta 9. o Upgraded to CGLIB 1.1pre1 dev version. o Added ASM to distribution as this is what is now used by CGLIB. o Added open source jta.jar and redistributable jdo.jar -- now no additional packages are required to run XORM. o Updated to JDO 1.0.1 API. PersistenceManager.getObjectById() will correctly throw JDOObjectNotFoundException if validate=true. o Changes to better support running some JDO TCK tests. o Changes to better support standard JDO enhanced objects. o Hollow state is now used to provide lazy loading where possible. o java.sql.Time and java.sql.Timestamp are recognized as non-user types. o Support for indexed properties added to FieldDescriptor utility class. o More and better error messages and warnings. o toString() now correctly identifies PERSISTENT_NONTRANSACTIONAL objects. * Configuration: o Factory methods on XORM helper class now look for resources in the current thread's ContextClassLoader. o Added fail-fast logic to detect classes mapped to tables without primary keys. * Cache: o Removed SoftReferenceCache. Made LRUCache the default. o For performance, XORM now tries to avoid clone() operations on Rows wherever possible. * JDOQL: o Support "this == parameter" and "this != parameter" expressions. o Support underscore ('_') characters in identifier names. o Fix handling of some uncommon whitespace characters. o Allow ordering statements to use references to objects not explicitly included in the filter condition. o CodeQuery better supports evaluate() methods with complex parameter types. * SQL Datastore: o Added optional "org.xorm.datastore.sql.IdleCheckSQL" property to specify a SQL command to run against the database to test connection integrity. o Added ability to use JNDI ("javax.jdo.option.ConnectionFactoryName" property) to acquire a DataSource. o Introduced a default HeapDatastore and HeapConnectionInfo implementation that is aimed at allowing a developer to test an app without a physical datastore. o PersistenceManagerFactory.close() will cause connections to be released from the connection pool. * XML Datastore: o Fixed TypeConverter method that was not properly converting java.util.Date to java.lang.String.