Friday, May 30, 2008

expojo 1.3.2 released!

exPOJO 1.3.2 has just been released.

exPOJO is a super lightweight framework that provides:
  • dependency injection in Java (no XML - say goodbye to Spring forever!) using the easy to use ModelExposer class.
  • high productivity persistence using the 'exposed POJO model pattern' to access your objects via Hibernate or JDO.
  • an ORM wrapper that helps you to build code that is portable across different ORMs.

Version 1.3.2 adds an exceptionally useful 'auto query resource clean up' class donated by Guido Anzuoni from Object Magic: Using this class to encapsulate returned query collection result you don't need to explicitly clean up the query resources associated with those results. Guido's class 'automagically' cleans up the resources when it is garbage collected. This is great for users of the OpenPersistenceManagerInView pattern. Currently Guido's class works with JDO only.

Version 1.3.2 also adds a new flushChanges method which is great when you need to establish an extremely complex object graph with cyclic references. ORMs occassionally generate FK constraints with such object graphs and the only workaround is to perform piecemeal database commits. The new flushChanges method can be called at various steps during construction of a complex object graph to perform piecemeal database commits, upon return from flushChanges the exPOJO transaction depth is restored to its previous value saving the developer from having to save/restore the transaction depth explicitly.