Severin Hamader (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3...
) *updated* an issue
Hibernate ORM (
https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiYjAxYmI1Yjg2...
) / Bug (
https://hibernate.atlassian.net/browse/HHH-15498?atlOrigin=eyJpIjoiYjAxYm...
) HHH-15498 (
https://hibernate.atlassian.net/browse/HHH-15498?atlOrigin=eyJpIjoiYjAxYm...
) Delete Query fails when NULL is being used for enum column in where clause (
https://hibernate.atlassian.net/browse/HHH-15498?atlOrigin=eyJpIjoiYjAxYm...
)
Change By: Severin Hamader (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3...
)
Test case will be attached shortly\! :
[
https://github.com/hibernate/hibernate-test-case-templates/pull/204|https...]
The following HQL query has been working fine in Hibernate 5.x.x:
{code:sql}DELETE FROM Event WHERE (:type IS NULL OR type = :type){code}
It seems, Hibernate fails to detect the enum, if I use another class (non-enum) in the
same query it works.
Now, with 6.1.3, I am receiving the following error:
{noformat}jakarta.persistence.PersistenceException: Converting
`org.hibernate.query.sqm.sql.ConversionException` to JPA `PersistenceException` : Could
not determine neither the SqlTypedMapping nor the Bindable value for SqmParameter:
SqmNamedParameter(type)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:165)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:175)
at org.hibernate.query.sqm.internal.QuerySqmImpl.executeUpdate(QuerySqmImpl.java:659)
at org.hibernate.bugs.ORMUnitTestCase.deleteEventByType(ORMUnitTestCase.java:106)
at org.hibernate.bugs.ORMUnitTestCase.hhh15498Test(ORMUnitTestCase.java:95)
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at
org.hibernate.testing.junit4.ExtendedFrameworkMethod.invokeExplosively(ExtendedFrameworkMethod.java:45)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at
org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299)
at
org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293)
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.hibernate.query.sqm.sql.ConversionException: Could not determine neither
the SqlTypedMapping nor the Bindable value for SqmParameter: SqmNamedParameter(type)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.resolveSqmParameter(BaseSqmToSqlAstConverter.java:5284)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.consumeSqmParameter(BaseSqmToSqlAstConverter.java:4876)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.consumeSingleSqmParameter(BaseSqmToSqlAstConverter.java:4968)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.consumeSqmParameter(BaseSqmToSqlAstConverter.java:4963)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitNamedParameterExpression(BaseSqmToSqlAstConverter.java:4867)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitNamedParameterExpression(BaseSqmToSqlAstConverter.java:414)
at
org.hibernate.query.sqm.tree.expression.SqmNamedParameter.accept(SqmNamedParameter.java:56)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitIsNullPredicate(BaseSqmToSqlAstConverter.java:6684)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitIsNullPredicate(BaseSqmToSqlAstConverter.java:414)
at
org.hibernate.query.sqm.tree.predicate.SqmNullnessPredicate.accept(SqmNullnessPredicate.java:53)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitJunctionPredicate(BaseSqmToSqlAstConverter.java:6344)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitJunctionPredicate(BaseSqmToSqlAstConverter.java:414)
at
org.hibernate.query.sqm.tree.predicate.SqmJunctionPredicate.accept(SqmJunctionPredicate.java:74)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitGroupedPredicate(BaseSqmToSqlAstConverter.java:6323)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitGroupedPredicate(BaseSqmToSqlAstConverter.java:414)
at
org.hibernate.query.sqm.tree.predicate.SqmGroupedPredicate.accept(SqmGroupedPredicate.java:52)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitWhereClause(BaseSqmToSqlAstConverter.java:2262)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitDeleteStatement(BaseSqmToSqlAstConverter.java:1013)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.visitDeleteStatement(BaseSqmToSqlAstConverter.java:414)
at
org.hibernate.query.sqm.tree.delete.SqmDeleteStatement.accept(SqmDeleteStatement.java:96)
at
org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.translate(BaseSqmToSqlAstConverter.java:709)
at
org.hibernate.query.sqm.internal.SimpleDeleteQueryPlan.createDeleteTranslator(SimpleDeleteQueryPlan.java:80)
at
org.hibernate.query.sqm.internal.SimpleDeleteQueryPlan.executeUpdate(SimpleDeleteQueryPlan.java:99)
at org.hibernate.query.sqm.internal.QuerySqmImpl.doExecuteUpdate(QuerySqmImpl.java:678)
at org.hibernate.query.sqm.internal.QuerySqmImpl.executeUpdate(QuerySqmImpl.java:648)
... 16 more{noformat}
(
https://hibernate.atlassian.net/browse/HHH-15498#add-comment?atlOrigin=ey...
) Add Comment (
https://hibernate.atlassian.net/browse/HHH-15498#add-comment?atlOrigin=ey...
)
Get Jira notifications on your phone! Download the Jira Cloud app for Android (
https://play.google.com/store/apps/details?id=com.atlassian.android.jira....
) or iOS (
https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=Em...
) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100206- sha1:8e0b99e )