-
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-tools
too. See the WIKI Documentation for more details. - added experimental "Map as an Entity" support.
- refactored package names from
jp.sf.amateras.mirage
tocom.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
-
Iterable
is available as bind object - Add
JndiSession
- Add minimal Dialect support for
SQLite
,Derby
,SQLServer
andDB2
databases
- Add
SessionFactory#getSession(Properties)
- Improve
SpringConnectionProvider
- Specify
UTF-8
for conversion from SQL string to bytes inStringSqlResource#getInputStream
- Update depended libraries
- Add
placeHolder
attribute 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:
DefaultResultEntityCreator
can find@Column
annotation ifResultSetMetaData#columnName
andColumn#name
's letter case does not match. - Fixed: Invalid dependency of
TransactionInterceptor
inMirageModule
.
- Added
RailsLikeNameConverter
as an optionalNameConverter
. - Added
FieldPropertyExtractor
as 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
/RuntimeException
to make interfaces intension revealing - Added
SqlManagerImpl#setValueTypes
to make it easier to configure valueTypes using Spring framework - BugFix:
PropertyExtractor
extracts static or final field - Improvement:
DefaultResultEntityCreator
just requires no-argument constructor. It really doesn't matter if the constructor is public. - Improvement: Make
ValueType
parametrized. If you implement custom ValueTypes, these is not compatible in this version. - Added
BreakIterationException
to discontinue iteration search. - BugFix:
@Column
is available for the select query.
- Added
SchemaUpdater
andSchemaUpdateListener
to 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
ResultEntityCreator
interface to extendsSqlManager
. - Added
PropertyExtractor
interface to extendsBeanDesc
.
- Added
DBCPSessionImpl
to provide connection pooling for standalone usage. - Added
TransactionInterceptor
and@Transactional
for Guice Integration. -
MockSqlManager
came to support stored procedure / function.
- Automatic dialect configuration by the connection URL in
JDBCSessionImpl
. -
jdbc.driver
injdbc.properties
became omitable for JDBC 4.0 driver.
- Primary key generation support
-
@PrimaryKey
annotation has new attributesgenerationType
andgenerator
. - The
generationType
attribute supportsGenerationType.APPLICATION
,GenerationType.IDENTIY
andGenerationType.SEQAUENCE
. - The
persistent
attribute of@PrimaryKey
annotation has been removed.
-
- Improvement of unit testing support
- Verification methods of
MirageTestContext
have been enhanced.
- Verification methods of
- New
ConnectionProvider
andDialect
- Added
JNDIDataSourceConnectionProvider
andJNDIXADataSourceConnectionProvider
to obtain a data source from JNDI. - Added
MySQLDialect
for MySQL support.
- Added
- Unit Testing support
- Added
MockSqlManager
which is used in unit testing instead ofSqlManager
.
- Added
- Ant Task
- Added
EntityGenTask
for entity generation.
- Added
- Added new methods to
SqlManager
for batch insert/update/delete entities:SqlManager#insertBatch()
SqlManager#updateBatch()
SqlManager#deleteBatch()
- BugFix:
NullPointerException
which is caused in conversion from NULL column value tojava.util.Date
. - Possible to specify
@In
,@Out
,@InOut
,@ResultSet
for setter / getter methods. - Added new annotations:
@Table
and@Column
. These annotations are used to specify table and column name. - Entity Generation Tool (Experimental). See the
EntityGen
javadoc to know how to use it.
- JavaSE 5 support (Mirage 1.0.3 and before work with only JavaSE6)
- BugFix:
Map
which contains null properties causesNullPointerException
inSqlManager#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
SqlManager
for 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
@Transient
annotation. - Added new method
SqlManager#findEntity(Class clazz, Object... id)
- Added new method
SqlManager#getCount(String sqlPath[, Object param])
-
ValueType
interface to add custom value type support - BLOB support
- Initial Release.