versions 3.x-jdk1.7 for jdk 1.7
versions 3.x-jdk1.5 for jdk 1.5/1.6
versions 2.x are for jdk 1.7
versions 1.x are for jdk 1.5/1.6
version 3.0
- caching
- TransactionListener
- row annotations have precendence over table annotations
(set legacyAnnotationPrecedence=true for pre v3.0 precendence)
- remove deprecated
- cascades can set foreign key values and reference on target objects
- Row.inheritedFields allows fields in subclasses to be used as columns
- Row.selectInitialCapacity configures initial capacity of
collections/maps for select results
- Where.selectInitialCapacity configures initial capacity of
collections/maps for select results
- SelectOperation.setFetchSize sets PreparedStatement fetch size
- Row.fetchSize and Where.fetchSize configures fetch size
- Where.maximumRows limits rows read from select operation
- SelectOperation implements Iterable to enable SelectOperation
objects in for loops
- fix bug that cascaded insert, save, update, delete when parent row did
not exist in database (see org.sormula.tests.cascade.multilevelfk)
- Row.primaryKeyFields as alternate way to specify primary keys
- many-to-many examples
- named cascades (see org.sormula.tests.cascade.named for example)
- non-identity inserts for tables with identity columns
versions 1.9.4 and 2.3.4 transaction fix and cascades occur only if parent row inserted, updated, or deleted
versions 1.9.3 and 2.3.3 save cascades allow mix of insert/update for all levels of cascade
versions 1.9+ and 2.3+ JNDI support, JDBC batch support, optional cascade targetClass, query cancel, query timeout
versions 1.8+ and 2.2+ lazy loading
versions 1.7+ and 2.1+ active record
https://sourceforge.net/p/sormula/code/ for change log