JDBI v3.0.0-beta1 Release Notes
-
- ๐จ [breaking] Refactored SqlStatementCustomizerFactory.createForParameter(...)
- Now returns new SqlStatementParameterCustomizer type, so parameter customizers can be cached and reused for performance.
- Now accepts a
Type
parameter, so parameter binders no longer have to check whether the statement is a PreparedBatch.
- ๐จ [breaking] Handlers config class, refactored HandlerFactory permit alternative method handler mapping strategies.
- [breaking] Renamed BeanMapper, FieldMapper, and ConstructorMapper's
of(...)
methods tofactory(...)
. Addedof
methods in their place which return RowMappers, whereas thefactory
methods from before returnRowMapperFactory
s. - [breaking] Mixing named and positional parameters in SQL statements will now throw an exception. See https://github.com/jdbi/jdbi/pull/787
- ๐ Handlers registry allows users to use custom SQL Object method handlers without a SQL method annotation.
- ๐ HandlerDecorators registry allows adding custom behavior to any SQL Object method, with or without an annotation.
- ๐ jdbi3-kotlin plugin adds support for mapping Kotlin data classes.
- ๐ jdbi3-kotlin-sqlobject plugin adds support for Kotlin SQL Objects, including Kotlin default methods, and default parameter values.
- ๐ Support for collecting results into Map, and Guava's Multimap.
- ๐ง Configuration option to control how "untyped null" arguments are bound. Useful for some database vendors (e.g. Derby, Sybase) that expect a different SQL type constant for null values.
- ๐ Support boolean[] return type from @SqlBatch methods
- ๐ Bug fixes:
- NullPointerException in Postgres plugin when binding null UUID
- IllegalArgumentException with @SqlBatch when the batch is empty
- NullPointerException when
null
is bound to an array column.
- ๐จ [breaking] Refactored SqlStatementCustomizerFactory.createForParameter(...)