Apache Cayenne Website > 2007 > 11 > 11 > November 11 2007 - Cayenne 3.0M2 Released

Cayenne team is glad to announce a second milestone of Cayenne 3.0. It contains many new features, such as full EJBQL syntax (delete, update, select, aggregate queries, subqueries, etc.), much improved lifecycle callbacks (no need to wrap the DataContext or enable callbacks explicitly. Modeler callbacks support is coming in M3), to-many relationships mapped as sets and maps (with Modeler support), CayenneModeler search function, adapter for SQLite, and much more.

Release Download Link

Full List of New Features Introduced Since 3.0M1:

  • CAY-610 A way to shutdown EventManager
  • CAY-757 JPA should handle managed classes not listed in persistence.xml
  • CAY-819 Support for per-adapter customization of EJBQL translator
  • CAY-824 Extract all DataView related code in a separate module
  • CAY-826 Modeler support for the extra simple property types that Cayenne now supports
  • CAY-828 Remove DataContextTransactionEventListener, DataObjectTransactionEventListener, DataContextEvent
  • CAY-833 Remove API for flipping callbacks state in the ClientServerChannel - this is a non-feature
  • CAY-834 DataContext and DataDomain must support lifecycle callbacks out of the box without wrapping
  • CAY-836 EJBQL Delete Statement Support
  • CAY-837 EJBQL Update Statement Support
  • CAY-838 EJBQL GROUP BY and HAVING support
  • CAY-840 EJBQL Subquery Support
  • CAY-841 EJBQL Support for LIKE/ESCAPE and IN conditions
  • CAY-842 EJBQL Collections condition support
  • CAY-843 Remove arbitrary reverse relationship mapping limitations
  • CAY-844 _Auto classes should be "abstract"
  • CAY-846 EJBQL Support for Functional Expressions
  • CAY-848 Support for mapping to-many as Maps and Sets and Collections
  • CAY-855 Add DataContext.objectFromDataRow variety for generic classes
  • CAY-856 Deprecate CayenneMap and replace all references to it with standard java.util package Maps
  • CAY-857 Deprecate derived DbEntity and all associated API's - schedule for removal in 3.0M3
  • CAY-859 Cayenne agent misses JPA entity classes that were loaded before their PersistenceUnits
  • CAY-867 Special exception for accessing previously shutdown domain
  • CAY-869 CayenneModeler free-text search
  • CAY-875 DbAdapter for SQLite

List of Bug Fixes Since 3.0M1:

  • CAY-770 bug / memory leak in DispatchQueue and EventManager
  • CAY-796 Deserialization of DataContext fails when useSharedCache is false
  • CAY-797 Lifecycle callbacks *CallbackInterceptor concept introduces problems for testing equality of contexts
  • CAY-832 enum-mapped columns improperly handled in in expressions
  • CAY-835 setting meaningful pk to zero turn on autogenerated keys
  • CAY-845 DataContext.localObject() object update race condition
  • CAY-847 Expression NULL handling
  • CAY-852 NPE in Util.delete for read-protected directories
  • CAY-853 JPA EntityTransaction must allow multiple begin/commit cycles
  • CAY-854 the relationships to entities which are "not for client use" are being returned in superclass template
  • CAY-860 JPA no joins created for to-many relationship
  • CAY-861 ObjRelationship 'addDbRelationship()' and 'removeDbRelationship' leave object in an inconsistent state
  • CAY-863 Object property unexpectedly set to null through forceMergeWithSnapshot
  • CAY-870 Race condition in ClassDescriptorMap
  • CAY-872 Potential bug deleting uncommited objects from a nested DataContext
  • CAY-873 maven-cayenne-plugin requires transitive deps declared
  • CAY-901 Cannot set more than one to-one relationship to null.