Hibernate Release Notes
Hibernate 6
- V23.1.0-hib6
-
-
Compatible with Hibernate 6.6 which makes it incompatible with Hibernate 6.2 or earlier due to API changes in the
Dialect
class. 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.
-
- V23.0.5-hib6
-
-
Compatible with Hibernate 6.2 and backwards compatible with Hibernate 6.1.
-
Includes all the enhancements of V23.1.0-hib6 except
trunc()
is not supported. -
Some SQL constructs supported by V23.1.0-hib6 are 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
Dialect
class.
-
-
- V23.0.4-hib6
-
-
Added support for the timeout query hint using
(AvailableSettings.JAKARTA_LOCK_TIMEOUT, timeout)
, wheretimeout
is the lock timeout in ms.Requires NuoDB 6.x, where x ≥ 0.
-
- V23.0.3-hib6
-
-
Updated
NuoDBDialect
to indicate that:-
NuoDB sorts
null
values first. -
NuoDB does not support
null
precedence. -
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);
-
Added support for the
sign()
function in JPQL queries, for integer arguments only. -
Added support for the
SUPPRESS_VERSION_WARNING
Java property. Set its value totrue
in the OS environment as an environment variable or as a Java System property to suppress the version warning printed whenNuoDBDialect
is created. -
Improved the mapping of
SQLException
toJPAException
for better error handling. For more information, seeNuoDBDialect.NuoDbSQLExceptionConversionDelegate
. -
Updated
NuoDBDialect
to generate a warning if a lock-timeout hint is used with a positive timeout value since it is not supported in NuoDB.NOWAIT
andSKIP_LOCKED
are supported. -
CHAR
andNCHAR
data types are now implemented asCHAR
andNCHAR
, respectively. In earlier releases,CHAR
andNCHAR
could optionally be implemented using theSTRING
column type.VARCHAR
,NVARCHAR
,LONGVARCHAR
, andLONGNVARCHAR
can optionally be implemented asSTRING
column 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
UPDATE
clause 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.5-hib5
-
-
Added support for the timeout query hint using
(AvailableSettings.JPA_LOCK_TIMEOUT, timeout)
, wheretimeout
is the lock timeout in ms.Requires NuoDB 6.x, where x ≥ 0.
-
- V22.0.4-hib5
-
-
Improved
NuoDBDialect
to correctly indicates that NuoDB support subquery on 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_WARNING
Java property. Set its value totrue
in the OS environment as an environment variable or as a Java System property to suppress the version warning printed whenNuoDBDialect
is created. -
Improved the mapping of
SQLException
toJPAException
for better error handling. For more information, seeNuoDBDialect.NuoDbSQLExceptionConversionDelegate
. -
Updated
NuoDBDialect
to generate a warning if a lock-timeout hint is used with a positive timeout value since it is not supported in NuoDB.NOWAIT
andSKIP_LOCKED
are supported. -
CHAR
andNCHAR
data types are now implemented asCHAR
andNCHAR
, respectively. In earlier releases,CHAR
andNCHAR
could optionally be implemented using theSTRING
column type.VARCHAR
,NVARCHAR
,LONGVARCHAR
, andLONGNVARCHAR
can optionally be implemented asSTRING
column types.
-
- V22.0.1-hib5
-
-
Fixes for
UPDATE SKIP LOCKED
and a few function definitions. -
Adds
uuid()
function. -
Refactored, commented and tidied
NuoDBDialect
class.
-
- 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 LOCKED
andFOR 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
String
data-members to NuoDB’sSTRING
column type. -
Removes direct dependency on Hibernate to avoid start up issues in Web/Application Server.
-
- V20.0.0-hib5
-
-
Renumbered to allow the Hibernate JAR to be released independently of the NuoDB database.
-
Last update for this version
20.0.2-hib5
.
-