Hibernate Release Notes
Hibernate 7
- V24.0.0-hib7
-
-
Compatible with Hibernate 7.2 and incompatible with Hibernate 6.x or earlier due to API changes in the
Dialectclass. -
Bug Fixes:
-
Fix bug in constraint and exception handling - [HIB-2] Behavior of Hibernate Exceptions.
-
Avoid generation of
GROUP BY (). -
Avoid generation of
WHERE (x, y) IN ( (?, ?), (?, ?) )style SQL.
-
-
Improvements:
-
Refactors sequence support and exception/constraint classes out of
NuoDBDialect. -
More informative
NuoDBDialect.toString()to aid diagnostics. -
A simplified limit handler based on Hibernate’s own
OffsetFetchLimitHandler. -
Update supported functions to expose recently added functions available in NuoDB V7:
getStartId(),rank(),dense_rank(),WEEKinterval indate_add(). -
Supports Nationalized UTF-8 types (requires a NuoDB JDBC driver later than
V24.2.1).
-
-
Hibernate 6.6
- V23.2.0-hib6
-
-
Compatible with Hibernate 6.6 making it incompatible with Hibernate 6.2 or earlier due to API changes in the
Dialectclass. -
Contains the same fixes and improvements as
V24.0.0-hib7above.
-
- V23.1.0-hib6
-
-
Compatible with Hibernate 6.6 making it incompatible with Hibernate 6.2 or earlier due to API changes in the
Dialectclass. We do not officially support Hibernate 6.3, 6.4 or 6.5. -
Support for these functions in JPQL and HQL:
-
ascii()- convert a number in range 0-127 to its ASCII character, for values over 127 usechar(). -
bitor(),bitand(),bitxor(),bitnot() -
collate(field AS name AS case_insensitive)- collation is case sensitive by default -
current_schema(),current_user(),database(),getconnectionId(),getransactionid() -
date(),datediff(),datetrunc()andtime() -
Hyperbolic trigonometric functions:
sinh(),cosh(),tanh(). -
round() -
sign()now takes any numeric value, not just an integer. -
str(num, length, decimals) - Converts a number to a string (as per SQL Server). There must be exactly three numeric arguments, otherwisestr()acts likeconcat(). -
stddev_pop(),stddev_samp(),var_pop(),var_samp()- require NuoDB 7.0 or later. -
timestampadd()andtimestampdiff -
trunc() -
unaccent()- requires NuoDB 7.0 or later. -
unicode()
-
-
You can declare your own User Defined Functions (UDFs) to Hibernate so that JPQL and HQL can use them.
NuoDBDialect.registerCustomFunctions()is changed to no longer require subclassing. -
Dialect.getFunctions()was removed by Hibernate 6. We have added similar functionality toNuoDBDialect. -
Avoids or emulates some SQL constructs (generated by Hibernate) that were previously incompatible with NuoDB SQL.
-
Support for Outer Joins - requires NuoDB 7.0 or later.
-
Hibernate 6.2
- V23.0.6-hib6
-
-
Compatible with Hibernate 6.2 and backwards compatible with Hibernate 6.1.
-
Contains the same fixes and improvements as
V24.0.0-hib7above.
-
- V23.0.5-hib6
-
-
Compatible with Hibernate 6.2 and backwards compatible with Hibernate 6.1.
-
Includes all the enhancements of
V23.1.0-hib6excepttrunc()is not supported. -
Some SQL constructs supported by
V23.1.0-hib6are not supported by this release. If you have problems with NuoDB rejecting some Hibernate generated SQL you may need to upgrade. -
NOTE: This version of our JAR is incompatible with Hibernate 6.6 due to API changes in the
Dialectclass.
-
-
- V23.0.4-hib6
-
-
Added support for the timeout query hint using
(AvailableSettings.JAKARTA_LOCK_TIMEOUT, timeout), wheretimeoutis the lock timeout in ms.Requires NuoDB 6.x, where x ≥ 0.
-
- V23.0.3-hib6
-
-
Updated
NuoDBDialectto indicate that:-
NuoDB sorts
nullvalues first. -
NuoDB does not support
nullprecedence. -
NuoDB supports subquery on mutating tables. For more information, see
Dialect.supportsSubqueryOnMutatingTable(). -
NuoDB does not support subquery in
SELECT.
-
-
Added
lpad()andrpad()functions to pad a string with additional characters to reach a specified length. The padding character is optional. The default padding character is space. -
Added the
registerCustomFunctions()method to support custom functions. By default, the JPQL engine does not include any additional custom functions. To define and register custom functions, override theregisterCustomFunctions()method in a subclass, add definitions of custom functions for your application, and include the custom function calls in JPQL queries.For example:
public void registerCustomFunctions( SqmFunctionRegistry functionRegistry, TypeConfiguration typeConfiguration);From V23.0.5-hib6 and V23.1.0-hib6, this method changed signature to avoid subclassing. For further details, see Adding Custom Functions. -
Added support for the
sign()function in JPQL queries, for integer arguments only. -
Added support for the
SUPPRESS_VERSION_WARNINGJava property. Set its value totruein the OS environment as an environment variable or as a Java System property to suppress the version warning printed whenNuoDBDialectis created. -
Improved the mapping of
SQLExceptiontoJPAExceptionfor better error handling. For more information, seeNuoDBDialect.NuoDbSQLExceptionConversionDelegate. -
Updated
NuoDBDialectto generate a warning if a lock-timeout hint is used with a positive timeout value since it is not supported in NuoDB.NOWAITandSKIP_LOCKEDare supported. -
CHARandNCHARdata types are now implemented asCHARandNCHAR, respectively. In earlier releases,CHARandNCHARcould optionally be implemented using theSTRINGcolumn type.VARCHAR,NVARCHAR,LONGVARCHAR, andLONGNVARCHARcan optionally be implemented asSTRINGcolumn types.
-
- V23.0.2-hib6
-
-
When an application updates the same entity in a database, and the entity is versioned, the application reports, "BatchUpdateException: update conflict in table" instead of "ObjectOptimisticLockingFailureException:". (13810)
The issue has been resolved.
-
- V23.0.1-hib6
-
-
A SQL query with an
UPDATEclause could report, "multi-column value only allowed in comparison operators".
The issue has been resolved.
-
- V23.0.0-hib6
-
-
Supports Hibernate 6.1 and JPA 3.1.
-
Hibernate 6 requires Java 11, but Spring 6 and Spring Boot 3 require Java 17.
-
Hibernate 5
- V22.0.6-hib5
-
-
Compatible with Hibernate 5.6 only.
-
Where possible, contains most of the same fixes and improvements as
V24.0.0-hib7above.
-
- V22.0.5-hib5
-
-
Added support for the timeout query hint using
(AvailableSettings.JPA_LOCK_TIMEOUT, timeout), wheretimeoutis the lock timeout in ms.Requires NuoDB 6.x, where x ≥ 0.
-
- V22.0.4-hib5
-
-
Improved
NuoDBDialectto correctly indicate that NuoDB supports subquery on a mutating table. For more information, seeDialect.supportsSubqueryOnMutatingTable(). -
Added support for the
sign()function in JPQL queries, for integer arguments only. -
Added support for the
SUPPRESS_VERSION_WARNINGJava property. Set its value totruein the OS environment as an environment variable or as a Java System property to suppress the version warning printed whenNuoDBDialectis created. -
Improved the mapping of
SQLExceptiontoJPAExceptionfor better error handling. For more information, seeNuoDBDialect.NuoDbSQLExceptionConversionDelegate. -
Updated
NuoDBDialectto generate a warning if a lock-timeout hint is used with a positive timeout value since it is not supported in NuoDB.NOWAITandSKIP_LOCKEDare supported. -
CHARandNCHARdata types are now implemented asCHARandNCHAR, respectively. In earlier releases,CHARandNCHARcould optionally be implemented using theSTRINGcolumn type.VARCHAR,NVARCHAR,LONGVARCHAR, andLONGNVARCHARcan optionally be implemented asSTRINGcolumn types.
-
- V22.0.1-hib5
-
-
Fixes for
UPDATE SKIP LOCKEDand a few function definitions. -
Adds
uuid()function. -
Refactored, commented and tidied
NuoDBDialectclass.
-
- V22.0.0-hib5
-
-
Supports Hibernate 5.4 and JPA 2.1, Hibernate 5.6 and JPA 2.2.
-
Adds support for NuoDB database query hints and
FOR UPDATE SKIP LOCKEDandFOR UPDATE NOWAIT. -
Adds
isValidJson()andjsonUnquote(),listagg()andrownum()functions. -
Adds
era(),quarter(),dayofweek(),dayofyear(),weekofmonth(),weekofyear()functions.
-
- V21.0.0-hib5
-
-
Supports Hibernate 5.4.
-
Enables mapping of
Stringdata-members to NuoDB’sSTRINGcolumn type. -
Removes direct dependency on Hibernate to avoid start up issues in Web/Application Server.
-
- V20.0.x-hib5
-
-
Renumbered to allow the Hibernate JAR to be released independently of the NuoDB database.
-
Last update for this version
20.0.2-hib5.
-