------------------------------------------------------------------------------- Version 1.2.0: Renamed to Ibator Bugs: 1. Fixed the JavaTypeResolver so that an unsupported data type can be overridden by configuration. 2. Fixed IBATIS-523 - bug in EqualsHashCodePlugin 3. Fixed IBATIS-542 - upgrade build to Ant 1.7.1 Enhancements: 1. Ibator now includes a plugin machanism that you can use to extend or modify code generated by Ibator. In most cases, you should be able to write plugins to replace any custom classes that subclass one of ibator's built-in generators. Plugins are now the preferred method for extending Ibator and we recommend that you do not extend Ibator's built in generators unless absolutely necessary. 2. Major refactoring of Ibator internals. This has changed the interface for overriding any of the supplied Ibator generators. 3. Added support for runtimeCatalog and runtimeSchema properties to the table configuration. Thanks to Dan Turkenkopf for the idea and the patch! 4. New method - insertSelective Changes: 1. JSE 5.0 or greater is required 2. Changed and centralized classloading - moved the from the element to , removed the rootClasspath property from 3. Changed API on the JavaTypeResolver interface 4. Removed Legacy generator set 5. Removed after generation hook methods in favor of the new ibator plugin mechanism. 6. elements now require an id ------------------------------------------------------------------------------- Version 1.1.0: Bugs - 1. corner case where the new "by example" methods fail if a criteria class has been added to the list, but there are no criteria set 2. trimStrings on JavaModelGenerator not working 3. Fix the XML file merger so that entities are preserved 4. Fixed the configuration parser so that it correctly deals with external entities 5. IBATIS-434 - Incorrect default mapping for BIT datatype 6. Fixed bug where Abator generated incorrect properties for certain database columns (for example, if the column name is I_NAME) Enhancements - 1. IBATIS-348 - escape column names with $ or #, and ignore special characters for generated Java properties by default 2. Add "clear" method to generated example classes in the Java2/Java5 generator sets 3. Add support for "ignoreQualifiersAtRuntime" and "runtimeTableName" on the configuration - this makes it easier to deal with tables that are behind public aliases. 4. Added support for persisting a configuration to XML - this to enable a graphical editor in the future 5. Add afterXXXGenerationHook() methods in all generators to enable adding extra Java code or XML elements to any generated object. This will make it easier to create customized generators 6. Added SYBASE database dialect for generated keys 7. Added the ability to specify that resultMaps should use column indexes rather than column name. This is necessary in poorly designed tables where column names differ only in case. This may also improve performance. 8. Added the ability to work with delimited names in database tables or columns. 9. API change to allow generating with selected contexts rather than the entire config file. 10. API change to allow generating with selected tables rather than the entire config file. 11. Exposed new support for selecting tables and/or contexts to the command line and the Ant task 12. IBATIS-414 - make the Example and Criteria classes extendable 13. Added countByExample generated method 14. Added updateByExample generated method 15. Java2 is now the default generator set 16. IBATIS-470 - make legacy DAOs extendable 17. IBATIS-468 - add 18. Added DB2 Main Frame database dialect for generated keys 19. Allow rootClass and rootInterface to be specified at the table level 20. Allowed specifying a type (pre or post) for the generatedKey element. 21. Added a comment generator interface 22. Abator will not generate model properties that would override properties in a rootClass. Thanks to Ashok Madhavan for the beginnings of this code. ------------------------------------------------------------------------------- Version 1.0.0: 1. Major refactoring of code generators to use new DOM classes. This makes adding and extending code generators much easier. 2. Added a new set of code generators that take advantage of iBATIS' new support for nested iterate tags. 3. Added another new set of code generators that take advantage of iBATIS' new support for nested iterate tags, and builds code that uses many JSE 5.0 features including parameterized types and annotations. 4. Added support for "alias" on table configuration 5. Fixed the XML file merger so that extraneous blank lines in an XML merge are removed 6. Major overhaul and improvement of the documentation 7. Added a typeHandler attribute to 8. Added exampleMethodVisibility as a property for the DAO generator 9. Added methodNameCalculator as a property for the DAO generator 10. Added the ability to specify wildcards for schema and/or tableName in
11. Added the ability to suppress type warning messages in a JSE 5.0 environment 12. Added the ability to specify different types of domain models 13. Added the "verbose" attribute to the Ant task 14. Allowed the Ant task to accept a property set 15. Added a element to the XML configuration For full details, see the user's guide at doc\index.html in this distribution - then look at the "What's New" page. ------------------------------------------------------------------------------- Version 0.6.5: 1. Added support for specifying rootClass for the model objects and rootInterface for the DAO interface. To use, specify the "rootClass" optional property on the element, or the "rootInterface" optional property on the element. For example: Note that Abator uses these values "as is" - no checking is done to validate their existence or validity. 2. Refactored code generation rules and added better documentation for the rules (see new org.apache.ibatis.abator.internal.rules package) 3. Ensure that property names are valid for iBATIS even if the user specifies "useActualColumnNames" 4. Added JDBC types for DATE and TIME fields to the mapping properties in the by example where clause fragment 5. Externalized all message strings 6. Abator will now survive if the JDBC driver does not support the getPrimaryKeys() function - but with reduced function ------------------------------------------------------------------------------- Version 0.6.1: 1. Added support for running Abator from the command line 2. Fixed bug: NPE when specifies an unknown column 3. Fixed bug: getExampleParms method in generated DAO can grow so enormous that it can't be compiled. The fix is to break it into smaller methods. 4. Implemented an "iBATIS-like" Ant build ------------------------------------------------------------------------------- Version 0.6.0: 1. Restructured as a standalone JAR file with no Eclipse dependencies 2. Added an Ant task 3. Added support for wrapping primitive data types in the "by example" methods 4. Removed dependency on JDOM 5. Greatly improved extensibility of the default code generators 6. Added support for discovering the case sensitivity of the database in regard to table names. ------------------------------------------------------------------------------- Version 0.5.0: Initial Release - as an Eclipse plugin only