[JIRA] (HHH-16608) [6.2.2] Date vs String comparison
by SAI Générique (JIRA)
SAI Générique ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=63a1d8d... ) *created* an issue
Hibernate ORM ( https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiYzJkNDNiZjcz... ) / Bug ( https://hibernate.atlassian.net/browse/HHH-16608?atlOrigin=eyJpIjoiYzJkND... ) HHH-16608 ( https://hibernate.atlassian.net/browse/HHH-16608?atlOrigin=eyJpIjoiYzJkND... ) [6.2.2] Date vs String comparison ( https://hibernate.atlassian.net/browse/HHH-16608?atlOrigin=eyJpIjoiYzJkND... )
Issue Type: Bug Affects Versions: 6.2.2 Assignee: Unassigned Components: query-hql Created: 15/May/2023 09:48 AM Environment: - H2 Dialect
- JDK17
- payara-embedded-all 6.2023.1
- Linux Debian Priority: Major Reporter: SAI Générique ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=63a1d8d... )
Hello,
Some queries with date/string comparison were working up to 6.1.7 but fail since 6.2.0. Here is a simple example that worked:
SELECT r FROM MyTable r WHERE r.startdate = '2023-05-15 00:00:00'
Now crashes with the following stacktrace:
ava.lang.IllegalArgumentException: org.hibernate.query.sqm.InterpretationException: Error interpreting query [SELECT r FROM MyTable r
WHERE r.startdate = '2023-05-15 00:00:00']; this may indicate a semantic (user query) problem or a bug in the parser [SELECT r FROM MyTable r
WHERE r.startdate = '2023-05-15 00:00:00']
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:162)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:168)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:795)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:704)
at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:190)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createQuery(EntityManagerWrapper.java:458)
...
Caused by: org.hibernate.query.sqm.InterpretationException: Error interpreting query [SELECT r FROM MyTable r
WHERE r.startdate = '2023-05-15 00:00:00']; this may indicate a semantic (user query) problem or a bug in the parser [SELECT r FROM MyTable r
WHERE r.startdate = '2023-05-15 00:00:00']
at org.hibernate.query.hql.internal.StandardHqlTranslator.translate(StandardHqlTranslator.java:97)
at org.hibernate.internal.AbstractSharedSessionContract.lambda$interpretHql$2(AbstractSharedSessionContract.java:744)
at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.createHqlInterpretation(QueryInterpretationCacheStandardImpl.java:141)
at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.resolveHqlInterpretation(QueryInterpretationCacheStandardImpl.java:128)
at org.hibernate.internal.AbstractSharedSessionContract.interpretHql(AbstractSharedSessionContract.java:741)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:786)
... 79 more
Caused by: java.lang.IllegalArgumentException: Can't compare test expression of type [BasicSqmPathSource(datedebut : Date)] with element of type [basicType(a)1(java.lang.String,12)]
at org.hibernate.query.sqm.internal.SqmCriteriaNodeBuilder.assertComparable(SqmCriteriaNodeBuilder.java:2098)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitComparisonPredicate(SemanticQueryBuilder.java:2493)
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitComparisonPredicate(SemanticQueryBuilder.java:253)
at org.hibernate.grammars.hql.HqlParser$ComparisonPredicateContext.accept(HqlParser.java:6111)
The entity is pretty straightforward:
@Entity
@Table(name = "mytable" )
public class MyTable {
@EmbeddedId
private IdTablePK tablePK;
@Column(name = "STARTDATE" )
@Temporal(TemporalType.TIMESTAMP)
private Date startdate;
//...
public Date getStartdate() {
return startdate;
}
public void setStartdate(Date startdate) {
this.startdate = startdate;
}
}
It might be related to #HHH-16605 ?
( https://hibernate.atlassian.net/browse/HHH-16608#add-comment?atlOrigin=ey... ) Add Comment ( https://hibernate.atlassian.net/browse/HHH-16608#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=EmailN... ) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100225- sha1:a5851ae )
2 years, 11 months