-
Notifications
You must be signed in to change notification settings - Fork 24
Releases
Naoki Takezoe edited this page Oct 23, 2021
·
27 revisions
- merged all modules to the core project as Gradle subprojects for ease of development and management
- Fix HikariCP issue
- project was split into several modules:
-
miragesql(the core) -
miragesql-test(testing framework) -
miragesql-tools(tooling) -
miragesql-integration(integration framework)
-
- added new Groovy and XML Entity Generation support to
miragesql-toolstoo. See the WIKI Documentation for more details. - added experimental "Map as an Entity" support.
- refactored package names from
jp.sf.amateras.miragetocom.miragesql.miragesql - migrated from JUL to SLF4J logging
- added HikariCP as an alternative connection pool
- deprecated code from Mirage-SQL =<1.2.5 was removed in the new major version 2.0.0
- project was moved to a new GitHub Organization: https://github.com/mirage-sql
- dependencies were updated to the latest version
- moved to Java 8
- build script was migrated to Gradle
- Maven POM updates
-
Iterableis available as bind object - Add
JndiSession - Add minimal Dialect support for
SQLite,Derby,SQLServerandDB2databases
- Add
SessionFactory#getSession(Properties) - Improve
SpringConnectionProvider - Specify
UTF-8for conversion from SQL string to bytes inStringSqlResource#getInputStream
- Update depended libraries
- Add
placeHolderattribute to@Column
- Initial release to the Maven central repository
- Added enum property type support which contains some internal interface changes.
- Apply Bootstrap theme to the generated Maven site.
- Added
H2Dialect.
- Small bug fix and improvements regarding extendibility.
- Improve:
DefaultResultEntityCreatorcan find@Columnannotation ifResultSetMetaData#columnNameandColumn#name's letter case does not match. - Fixed: Invalid dependency of
TransactionInterceptorinMirageModule.
- Added
RailsLikeNameConverteras an optionalNameConverter. - Added
FieldPropertyExtractoras an optional implementation ofPropertyExtractor. - BugFix: Avoid depending on JDBC 4.0 (Java6) API in
DefaultValueType - Chopping semicolon from the end of the SQL file.
- Improve: Avoid using type
Exception/RuntimeExceptionto make interfaces intension revealing - Added
SqlManagerImpl#setValueTypesto make it easier to configure valueTypes using Spring framework - BugFix:
PropertyExtractorextracts static or final field - Improvement:
DefaultResultEntityCreatorjust requires no-argument constructor. It really doesn't matter if the constructor is public. - Improvement: Make
ValueTypeparametrized. If you implement custom ValueTypes, these is not compatible in this version. - Added
BreakIterationExceptionto discontinue iteration search. - BugFix:
@Columnis available for the select query.
- Added
SchemaUpdaterandSchemaUpdateListenerto update database schema automatically. - Added
Session#setRollbackOnly()andSession#isRollbackOnly()to rollback transaction without exception. - SQL parsing result caching for performance improvement. You can control cache mode via
SqlManagerImpl#setCacheMode(). - Oracle optimizer hint support in 2WaySQL
- Added
ResultEntityCreatorinterface to extendsSqlManager. - Added
PropertyExtractorinterface to extendsBeanDesc.
- Added
DBCPSessionImplto provide connection pooling for standalone usage. - Added
TransactionInterceptorand@Transactionalfor Guice Integration. -
MockSqlManagercame to support stored procedure / function.
- Automatic dialect configuration by the connection URL in
JDBCSessionImpl. -
jdbc.driverinjdbc.propertiesbecame omitable for JDBC 4.0 driver.
- Primary key generation support
-
@PrimaryKeyannotation has new attributesgenerationTypeandgenerator. - The
generationTypeattribute supportsGenerationType.APPLICATION,GenerationType.IDENTIYandGenerationType.SEQAUENCE. - The
persistentattribute of@PrimaryKeyannotation has been removed.
-
- Improvement of unit testing support
- Verification methods of
MirageTestContexthave been enhanced.
- Verification methods of
- New
ConnectionProviderandDialect- Added
JNDIDataSourceConnectionProviderandJNDIXADataSourceConnectionProviderto obtain a data source from JNDI. - Added
MySQLDialectfor MySQL support.
- Added
- Unit Testing support
- Added
MockSqlManagerwhich is used in unit testing instead ofSqlManager.
- Added
- Ant Task
- Added
EntityGenTaskfor entity generation.
- Added
- Added new methods to
SqlManagerfor batch insert/update/delete entities:SqlManager#insertBatch()SqlManager#updateBatch()SqlManager#deleteBatch()
- BugFix:
NullPointerExceptionwhich is caused in conversion from NULL column value tojava.util.Date. - Possible to specify
@In,@Out,@InOut,@ResultSetfor setter / getter methods. - Added new annotations:
@Tableand@Column. These annotations are used to specify table and column name. - Entity Generation Tool (Experimental). See the
EntityGenjavadoc to know how to use it.
- JavaSE 5 support (Mirage 1.0.3 and before work with only JavaSE6)
- BugFix:
Mapwhich contains null properties causesNullPointerExceptioninSqlManager#executeUpdate() - BugFix: When the column value is NULL then Mirage sets the default value of primitive types to entity wrapper type properties.
- Added new methods to
SqlManagerfor direct SQL execution:SqlManager#getResultListBySql()SqlManager#getSingleResultBySql()SqlManager#iterateBySql()SqlManager#executeUpdateBySql()
- Iteration search per a record using cursor.
- Stored procedure / function support.
- BugFix about
SqlManager#insertEntity().
- Dependency to Spring Framework and Guice became optional.
- Dependency to the patched OGNL changed to OGNL 2.7.3.
- BugFix about BLOB support.
- Use java.util.logging instead of slf4j / logback to remove them from dependency.
- Simple example and documentation for Google Guice integration.
- It's possible to specify a transient property by transient modifier instead of
@Transientannotation. - Added new method
SqlManager#findEntity(Class clazz, Object... id) - Added new method
SqlManager#getCount(String sqlPath[, Object param]) -
ValueTypeinterface to add custom value type support - BLOB support
- Initial Release.