Build Date: @buildDate@ Build Number: @buildNum@ ------------------------------ 2.1.0 - May 16, 2004 ------------------------------ o Added and tags for class inheritance support o Added IBATIS-95 removeFirstPrepend attribute to all tags o Added IBATIS-95 open and close attributes to all dynamic tags to handle complex queries with bracketing o Added IBATIS-35 to allow duplicate type aliases o Fixed IBATIS-45 Removed JavaBeanProbe/MapProbe in favor of ComplexBeanProbe o Fixed IBATIS-79 Problem with nested groupBy resultMaps o Fixed IBATIS-78 JDBC driver properties does not work when using DBCP o Fixed IBATIS-42 bug that prevented dynamic tags from being nested inside an iterate tag o Fixed IBATIS-112 bug that will now allow for the $[]$ notation to be used. o Fixed IBATIS-45 ProbeExceptions with complex beans o Fixed IBATIS-79 Problem with nested groupBy resultMaps o Fixed IBATIS-46 xml parsing issue using jdk 1.3 o Fixed IBATIS-102 duplicate code in the SqlMapConfigParser.java o Fixed IBATIS-101 add remapResults attribute to procedure tag in sql-map-2.dtd o Changed SQL executor to always call .execute instead of .executeQuery and .executeUpdate ------------------------------ 2.0.9B - Feb 20, 2004 ------------------------------ o Rebuilt on Feb 20th to fix incomplete ZIP file o Fixed IBATIS-24 Add use="true" to javadoc tasks o Fixed IBATIS-25 Included com.ibatis.common not included in JavaDoc o Fixed IBATIS-57 Deprecated ScriptRunner o Fixed IBATIS-47 Add Table of Contents to SqlMaps developer guide o Fixed IBATIS-68 Add PrameterSetter's interface ( getPreparedStatement() ) o Fixed IBATIS-55 Throws ArrayIndexOutOfBoundsException when call queryForObject o Fixed IBATIS-41 Sql fragments donīt use namespaces o Fixed IBATIS-51 isParameterAvailable for Maps always returns true o Fixed IBATIS-66 com.ibatis.common.util.Throttle not decrementing Session counter causes application to hang o Fixed IBATIS-61 Inconsistent type handler handling o Fixed IBATIS-70 iBatis Caching Should Not Rely on hashCode Alone o Fixed IBATIS-72 Placeholders in sqlmap are not resolved in config o Fixed IBATIS-74 Problem using a "url" based properties file o Fixed IBATIS-34 Exception while serializable NULL value (CacheModel) ------------------------------ 2.0.9 - Dec 31, 2004 ------------------------------ o Added solution for N+1 selects for any number of 1:M and M:N relationships. o Added groupBy="..." for Result Maps to deal with repeating groups. o Added resultMap="..." to result mapping to deal with sub groups. o Added remapResults="true|false" remapping of dynamic result set metadata. o Added support for isolation levels specified in .startTransaction() o Added support for SQL "includes" to reduce/eliminate repeated SQL o Added default CLOB/BLOB support that should work for most databases (thanks to Alexander and Martin) o Added TopLink DAO Transaction Manager and Template (thanks to Wayne Gentile!) o Custom type handlers can now directly implement the TypeHandler interface o Refactored Builder/Parser to be more maintainable (nodelets) o Verified that duplicate statement names throw an exception. [982534] o SqlExecutor now always exhausts result sets with ps.getMoreResults() o Fixed new format inline parameter parsing error [ibatis-23] ------------------------------ 2.0.8 - Nov 26, 2004 ------------------------------ o Probes now always return true for hasReadable/hasWriteable property checks. o Fixed OUT/INOUT parameters to proc not retrieved properly (ibatis-12) o Verified missing columns throw an exception (ibatis-16) o Completely $supplied$ SQL statements are not supported (ibatis-17) o Verified parameter type handlers are applied (ibatis-ll) o Fixed cache model size of 1 disables caching (ibatis-7) o Fixed LRU cache memory leak (ibatis-1) o Added commitRequired attribute to transactionManager to force commit even on query (ibatis-10,3) ------------------------------ 2.0.7 - Oct 03, 2004 ------------------------------ o Added new inline parameter map format (#columnName,javaType=string,jdbcType=VARCHAR# etc.) o Added direct Set type property support o Added "OBJECT" type handler mapping to help deal with unsupported types o Added better exception messages and improved OJB DAO transaction support o Fixed complex properties being instantiated, even if ultimate value is null o Fixed DAO builder so that parameter properties override file props o Fixed CTH so nulls are now sent to custom setParameter o Fixed DAO unclosed Connection in JTA transaction o Fixed DAO possible (unlikely) unclosed JDBC connection ------------------------------ 2.0.6 - Sep 18, 2004 ------------------------------ o Changed complex props so select won't be executed if param null o Fixed non-caching null cache result bug o Fixed removeObject bug from fifo and lifo cache o Fixed locale issue with JavaBean property matching o Fixed unclosed statement if result set fails in MS SQL Server o Fixed comments within dao.xml o Fixed undetected duplicate statement names in a single sql map o Fixed inconsistent type handler for Map params without paramclass o Fixed SQLExceptin when populating complex properties o Fixed setters being called for non-OUT parameter objects ------------------------------ 2.0.5 - Aug 11, 2004 ------------------------------ o Added Custom Type Handlers! (see TypeHandlerCallback) o Added OJB DAO support (Thanks to Pedro Salgado) o Added passthrough methods for Hibernate DAO template o Added JdbcDaoTemplate support to most DAO TX managers o Deprecated JtaDaoTemplate, use JdbcDaoTemplate instead o Fixed reserved XML character encoding for XML types o Fixed Autocommit (true) in JdbcDaoTransaction o Fixed Expanded entity references in XML (for > etc.) o Fixed base probe indexed property accessor o Fixed doubled-up property element for complex DOM props ------------------------------ 2.0.4 - Jul 25, 2004 ------------------------------ o Deprecated getUserConnection() (use getCurrentConnection()) o Added getCurrentConnection() o Added openSession(Connection) for easier user connections o Improved user provided connection implementation o Fixed logging bug that prevented SQL from being logged o Fixed resultSetType prepareStatement overloaded method call o Fixed nullValue replacement when used with dynamic statements ------------------------------ 2.0.3 - Jul 16, 2004 ------------------------------ o Added fetchSize and resultSetType attributes to statement and select o Added parameter count to CacheKey equals for paranoid equality o Removed redundant bit shift in CacheKey update o Refactored cache locking pattern to improve concurrent access to cache models o Improved caching to avoid redundant connection reservations o New property to stop autocommit from being called in EXTERNAL TX Manager o Fixed JDBC types being ignored for hashmap parameter classes o Fixed some rare misleading error messages ------------------------------ 2.0.2 - Jun 22, 2004 ------------------------------ o Fixed nested List in Map parameter (e.g. #list[].id#) ------------------------------ 2.0.1 - Jun 21, 2004 ------------------------------ o Added DefaultAutoCommit property to EXTERNAL transaction manager o Removed redundant throws from template methods ------------------------------ 2.0.0 Final - Jun 18, 2004 ------------------------------ o Added SqlMapDaoTemplate wrapper methods (wraps SqlMapExecutor methods) o Fixed "double.nested" complex properties (no WRITEABLE prop found) o Fixed finalizer triggering lazy loader o Fixed Paginated List caching o Fixed NPE on complex prop without parameter class o Fixed default serialize setting on cache model and improved error msg ------------------------------ 2.0.0 RC5 - May 24, 2004 ------------------------------ o Fixed NPE when no DataSource configured (for Spring) o Fixed uppercase bean property support o Fixed result map getter based typing vs. setter o Fixed javaType attribute support for JavaBeans o Fixed caching of statements containing $simple$ dynamic sql o Fixed List in Map iterate tag problem o Fixed nullValue for primitive result classes of nested select statements ------------------------------ 2.0.0 RC4 - May 11, 2004 ------------------------------ o IMPORTANT: Renamed queryForList(String, Object, RowHandler) BACK TO queryWithRowHandler o Added serialize option to cache model to improve concurrent R/W cache performance o Added DOM type support for results and parameters. o Added DaoManager.getDao(class, contextId) to support for multiple DAO impls o Added access to SqlMapTransactionManager from SQL Map DAOs o Released all DTD constraints for pluggable components (cache, datasource, txmgr, daotx) o Fixed threading issue with StandardDaoManager ------------------------------ 2.0.0 RC3 - Apr 19, 2004 ------------------------------ o Updated DBCP support and centralized config o Newlines (\r, \n) are now stripped from SQL o Properties are passed from DAO builder to SQL Maps builder o Improved OSCache key uniqueness ------------------------------ 2.0.0 RC2 - Apr 11, 2004 ------------------------------ o Added SqlMapClient.flushDataCache() o Added "context." prefix for JNDI InitialContext properties o Added Resources.setDefaultClassLoader() o Fixed specified JDBC type problem with DATE etc. o Fixed DAO JDBC connection not being returned o Fixed queries with no result map error message o Fixed cache key parameter order problem o Fixed multiple calls to ResultSet when logging (ODBC/MSAccess problem) o Fixed unwrapping of proxy exceptions o Fixed convert task temp file bug o Fixed specific statement elements using cache model ------------------------------ 2.0.0 RC1 - Mar 20, 2004 ------------------------------ o Commit/rollback is now only applied if an update occurs. o Improved error messages (please comment if they still suck) o Fixed dynamic SQL with multiple params via result mapped statement o Fixed statement w/ cache models fail with class Cast Exception o Fixed procedure parameterMap instead of resultMap JavaBeanDataExchange.setData() o Fixed procedure calls with no params fails with NPE o Fixed duplicate parameters (#value#...#value#) causes out of bounds exception ------------------------------ 2.0.0 Beta 5 - Mar 8, 2004 ------------------------------ o Added DAO properties forwarding to transaction managers (e.g. SQL Map config) o Added support for both file prop config and prog. properties (file overrides prog.) o Fixed SQL Map statement conversion issue (empty SQL) o Fixed DAO passthrough methods o Fixed DAO commit/close connection o Fixed Property name reuse in parameter maps (PropertyAccessPlan) ------------------------------ 2.0.0 Beta 4 - Mar 2, 2004 ------------------------------ o Includes first "sneak peek" of DAO 2.0 Framework o Added DAO 1.x TX Pool classes for real SQL Maps 2.0 support o Added SqlMapSession.close() o Refactored SqlMapSession and SqlMapClient interfaces o Renamed SqlMapClient.getSession() to .openSession() o Renamed files to ibatis-sqlmap-2.jar, ibatis-common-2.jar and ibatis-dao-2.jar o Moved compatibilitiy JARs and DAO 1.x to lib/optional/compatibility o Fixed hasReadable/WriteableProperty check bug o Fixed addBatch Bug o Fixed Result Map nullValue type conversion ------------------------------ 2.0.0 Beta 3 - Feb 18, 2004 ------------------------------ o Added new namespaces o Renamed output="true" to mode="IN|OUT|INOUT" o Renamed queryWithRowHandler to queryForList(String, Object, RowHandler) o Upgraded DAO JAR to version 1.3.1 o Fixed iterative $substitutions[]$ o Fixed multiple iterations in a mapped statement o Fixed pure output parameters for stored procs o Fixed stored proc trimming problem ------------------------------ 2.0.0 Beta 2 - Jan 18, 2004 ------------------------------ o Changed (IMPORTANT) cacheModel attribute readWrite="true" to readOnly="false" (more accurate) o Ant task to convert SQL Maps o Updated example log4j.properties and included in /debug directory. o Implemented session based caching o Moved ErrorContext to request scope o Implemented reset methods for scopes o Skipped records use rs.absolute() if ResultSet type is not TYPE_FORWARD_ONLY o Fixed connection proxy logging bug (no output). o Fixed insert element without selectKey (NPE) o Fixed LRU/FIFO aliases (swapped) o Fixed legacy properties left in converted map files ------------------------------ 2.0.0 Beta 1 - Jan 11, 2004 ------------------------------ IMPORTANT: 2.0 initially focuses on compatibility, stability and quality. Very few new features have been added, but the new architecture should make make possible the addition of many great new features. o Complete, from the ground up rewrite. o Completely new, but familiar API and XML document structure o Compatibility API for 99% 1.x backward compatibility o New and improved array[] support o New and improved stored proc support (including output params) o New support for auto-gen keys o New URL resource loading of config files o New type aliases for more concise mappings o New XML data types for mappings (direct XML to DB) o New and improved lazy loading of all complex types o Improved overall performance o Reduced library dependencies o Much more...and more yet to come