# Error with @Query in hibernate 6.2.2

**URL:** <https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932>\
**Category:** Hibernate ORM\
**Created:** [July 6, 2023, 5:07am UTC](https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932 "2023-07-06T05:07:40Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![lovinjv](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/lovinjv/32/2407_2.png) [@lovinjv](https://discourse.hibernate.org/u/lovinjv)\
**Post date:** [July 6, 2023, 5:07am UTC](https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932/1 "2023-07-06T05:07:40Z")

</div>

This was working fine with hibernate 5 but breaking in hibernate 6.2

Query used : @Query(“select t1 from tableA t1 where t1.code = :code and t1.columnA not in (2,3,6,7)”)

We are getting error :  
Caused by: java.lang.IllegalArgumentException: Can’t compare test expression of type [columnA] with element of type [basicType@5(java.lang.Integer,4)]  
at org.hibernate.query.sqm.internal.SqmCriteriaNodeBuilder.assertComparable(SqmCriteriaNodeBuilder.java:2098) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.sqm.tree.predicate.SqmInListPredicate.implyListElementType(SqmInListPredicate.java:138) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.sqm.tree.predicate.SqmInListPredicate.(SqmInListPredicate.java:60) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitInPredicate(SemanticQueryBuilder.java:2669) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitInPredicate(SemanticQueryBuilder.java:253) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.grammars.hql.HqlParser$InPredicateContext.accept(HqlParser.java:6086) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitAndPredicate(SemanticQueryBuilder.java:2314) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitAndPredicate(SemanticQueryBuilder.java:253) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.grammars.hql.HqlParser$AndPredicateContext.accept(HqlParser.java:6013) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitWhereClause(SemanticQueryBuilder.java:2297) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitWhereClause(SemanticQueryBuilder.java:253) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.grammars.hql.HqlParser$WhereClauseContext.accept(HqlParser.java:5910) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitQuery(SemanticQueryBuilder.java:1161) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitQuerySpecExpression(SemanticQueryBuilder.java:937) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitQuerySpecExpression(SemanticQueryBuilder.java:253) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.grammars.hql.HqlParser$QuerySpecExpressionContext.accept(HqlParser.java:1818) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitSimpleQueryGroup(SemanticQueryBuilder.java:931) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitSimpleQueryGroup(SemanticQueryBuilder.java:253) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.grammars.hql.HqlParser$SimpleQueryGroupContext.accept(HqlParser.java:1711) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitSelectStatement(SemanticQueryBuilder.java:418) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.visitStatement(SemanticQueryBuilder.java:377) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.SemanticQueryBuilder.buildSemanticModel(SemanticQueryBuilder.java:295) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
at org.hibernate.query.hql.internal.StandardHqlTranslator.translate(StandardHqlTranslator.java:81) ~[hibernate-core-6.2.2.Final.jar:6.2.2.Final]  
… 90 common frames omitted

---

<div class="post-metadata">

**Author:** ![mbladel](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/mbladel/32/2128_2.png) [@mbladel](https://discourse.hibernate.org/u/mbladel)\
**Post date:** [July 6, 2023, 9:06am UTC](https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932/2 "2023-07-06T09:06:25Z")

</div>

Hibernate 6.2 introduced type compatibility checks when comparing expressions. This is what is failing in your case, but without seeing the entity mappings and / or the the query you’re trying to execute I can’t help you further.

If you think this is a bug, please create an issue in the issue tracker ([https://hibernate.atlassian.net](https://hibernate.atlassian.net)) with a test case ([GitHub - hibernate/hibernate-test-case-templates: Templates and examples to report issues to Hibernate](https://github.com/hibernate/hibernate-test-case-templates)) that reproduces the issue.

---

<div class="post-metadata">

**Author:** ![lovinjv](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/lovinjv/32/2407_2.png) [@lovinjv](https://discourse.hibernate.org/u/lovinjv)\
**Post date:** [July 6, 2023, 9:48am UTC](https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932/3 "2023-07-06T09:48:02Z")

</div>

PFB entity mappings:

@Data  
@Entity  
@Table(name = "tableA ")  
public class tableA {

```
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
@Column(name = "pk")
private long objectId;

@ManyToOne
@JoinColumn(name = "columnA", nullable = false)
private TableB columnA;

```

}

@Data  
@Entity  
@Table(name = “TableB”)  
public class tableB {

```
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
@Column(name = "pk1")
private long objectId;

@OneToMany(mappedBy = "columnA",
		cascade = CascadeType.ALL,
		orphanRemoval = true)
@JsonIgnore
private List<String> listObj = new ArrayList<>();

```

}

---

<div class="post-metadata">

**Author:** ![mbladel](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/mbladel/32/2128_2.png) [@mbladel](https://discourse.hibernate.org/u/mbladel)\
**Post date:** [July 6, 2023, 9:54am UTC](https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932/4 "2023-07-06T09:54:17Z")

</div>

You’re trying to compare `columnA` is of entity type `TableB` to an integer value. This used to work in Hibernate 5, as it defaulted to the entity’s primary key, but now it’s explicitly forbidden.

You can simply use `t1.columnA.objectId not in (2,3,6,7)` instead and your query should work correctly again.

---

<div class="post-metadata">

**Author:** ![lovinjv](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/lovinjv/32/2407_2.png) [@lovinjv](https://discourse.hibernate.org/u/lovinjv)\
**Post date:** [July 6, 2023, 10:07am UTC](https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932/5 "2023-07-06T10:07:54Z")

</div>

@mbladel Thanks a lot. It worked. Spent a lot of time analyzing this issue , do we have any clear documents for such issues.

---

<div class="post-metadata">

**Author:** ![mbladel](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/mbladel/32/2128_2.png) [@mbladel](https://discourse.hibernate.org/u/mbladel)\
**Post date:** [July 6, 2023, 10:13am UTC](https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932/6 "2023-07-06T10:13:17Z")

</div>

You can find the information about this specific case in [this paragraph](https://docs.jboss.org/hibernate/orm/6.0/migration-guide/migration-guide.html#_association_comparisons) of the 6.0 migration guide.

See also the [6.2 migration guide](https://docs.jboss.org/hibernate/orm/6.2/migration-guide/migration-guide.html), which contains links to previous versions.

---

<div class="post-metadata">

**Author:** ![Raju\_Sk](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/raju_sk/32/2631_2.png) [@Raju\_Sk](https://discourse.hibernate.org/u/Raju_Sk)\
**Post date:** [August 26, 2023, 1:12pm UTC](https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932/7 "2023-08-26T13:12:24Z")

</div>

Does any help i am also having same issue

---

<div class="post-metadata">

**Author:** ![lovinjv](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/lovinjv/32/2407_2.png) [@lovinjv](https://discourse.hibernate.org/u/lovinjv)\
**Post date:** [August 26, 2023, 1:54pm UTC](https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932/8 "2023-08-26T13:54:46Z")

</div>

yes . share your query

---

<div class="post-metadata">

**Author:** ![Raju\_Sk](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/raju_sk/32/2631_2.png) [@Raju\_Sk](https://discourse.hibernate.org/u/Raju_Sk)\
**Post date:** [August 28, 2023, 4:22am UTC](https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932/9 "2023-08-28T04:22:21Z")

</div>

SELECT l " +  
“FROM LocationEntity l " +  
" JOIN (” +  
" SELECT ls.locationId AS locationId , COUNT(ls.locationId) AS freq " +  
" FROM LogisticsScheduleEntity ls " +  
" JOIN ls.logisticsVoyage lv " +  
" WHERE (lv.userUpdatedBy = :userId " +  
" OR lv.userNominationBy = :userId " +  
" OR lv.userFixedBy = :userId )" +  
" GROUP BY ls.locationId" +  
") ids ON ids.locationId = l.locationId " +  
"ORDER BY ids.freq DESC

---

<div class="post-metadata">

**Author:** ![lovinjv](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/lovinjv/32/2407_2.png) [@lovinjv](https://discourse.hibernate.org/u/lovinjv)\
**Post date:** [September 12, 2023, 6:54am UTC](https://discourse.hibernate.org/t/error-with-query-in-hibernate-6-2-2/7932/10 "2023-09-12T06:54:54Z")

</div>

Could you share your error here and share the both entity details
