JDBI v3.7.0 Release Notes
-
- ๐ New Features
- @AllowUnusedBindings SqlObject customizer, like SqlStatements.setUnusedBindingsAllowed
- Enums config class to change the default policy for binding and mapping Enum values.
- @UseEnumStrategy SqlObject configurer for setting the default enum strategy.
- @EnumByName and @EnumByOrdinal qualifying annotations to override said default policy.
- Support for Postgres custom types, both user defined and driver types like
PGInterval
orPGcircle
- RowView: add getColumn(QualifiedType) overloads
- SetObjectArgumentFactory and GetObjectColumnMapperFactory to easily make use of direct type support
provided by your database driver (e.g. many databases now directly support
java.time
objects). - simple Jackson2
@JsonView
support - @Unmappable lets you skip properties during pojo / bean mapping
- Beta Api Changes
- Qualifiers.qualifiers renamed to findFor, restyled as JdbiConfig configuration class
- ๐ Bugfixes
- Improve vavr handling of typed null
- ๐ Improvements
- Improve Error handling with transactions
- Clean up our dependencies, remove vestiges of
shade
plugin - Upgrade to antlr4
- Rework caching to not use extra threads (#1453)
- Any valid Java identifier is now supported as a named parameter (e.g.
:์ ๋ชฉ
) or defined attribute (e.g.<์ ๋ชฉ>
). - Nested
inTransaction
anduseTransaction
calls are now allowed in core, provided the inner transaction specifies the same transaction isolation level, or does not specify isolation. This brings core transaction behavior in line with the existing behavior for nested@Transaction
SQL object methods. - Nested calls on a thread to
Jdbi
methodsuseHandle
,withHandle
,useTransaction
,withTransaction
,useExtension
,withExtension
, or to any method of an on-demand extension will now execute against the handle from the outermost call, rather than each invocation getting a separate handle.
- Minor source incompatibility
- JdbiPlugin methods now
throws SQLException
- JdbiPlugin methods now
- ๐ New Features