[hibernate-issues] [JIRA] (HHH-14015) Equality predicate for embedded id and subquery doesn't work

Christian Beikov (JIRA) jira at hibernate.atlassian.net
Tue May 12 09:14:43 EDT 2020


Christian Beikov ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A0222998d-a0c8-4789-91ec-6a92d10dfb9a ) *created* an issue

Hibernate ORM ( https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiZDliZmUwY2Q3ZjNkNGZiOWIxMGM1YWZjNWM3YjE4YzQiLCJwIjoiaiJ9 ) / Bug ( https://hibernate.atlassian.net/browse/HHH-14015?atlOrigin=eyJpIjoiZDliZmUwY2Q3ZjNkNGZiOWIxMGM1YWZjNWM3YjE4YzQiLCJwIjoiaiJ9 ) HHH-14015 ( https://hibernate.atlassian.net/browse/HHH-14015?atlOrigin=eyJpIjoiZDliZmUwY2Q3ZjNkNGZiOWIxMGM1YWZjNWM3YjE4YzQiLCJwIjoiaiJ9 ) Equality predicate for embedded id and subquery doesn't work ( https://hibernate.atlassian.net/browse/HHH-14015?atlOrigin=eyJpIjoiZDliZmUwY2Q3ZjNkNGZiOWIxMGM1YWZjNWM3YjE4YzQiLCJwIjoiaiJ9 )

Issue Type: Bug Affects Versions: 5.4.14 Assignee: Unassigned Components: hibernate-core Created: 12/May/2020 06:14 AM Priority: Major Reporter: Christian Beikov ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A0222998d-a0c8-4789-91ec-6a92d10dfb9a )

It's a simple model

@Embeddable
public class AnimalId implements Serializable {
   @Column(name = "id" , nullable = false )
   private Integer id;
   @Column(name = "name" , nullable = false )
   private String name;
}
@Entity
@Table(name = "animal" )
public class Animal implements Serializable {
   @EmbeddedId
   private AnimalId id;
   @Column(name = "info" , nullable = false )
   private String info;
}

The following query leads to an exception SELECT 1 FROM Animal a WHERE a.id = (SELECT b.id FROM Animal b)

org.hibernate.HibernateException: SqlNode's text did not reference expected number of columns
	at org.hibernate.hql.internal.ast.tree.BinaryLogicOperatorNode.extractMutationTexts(BinaryLogicOperatorNode.java:242)
	at org.hibernate.hql.internal.ast.tree.BinaryLogicOperatorNode.mutateRowValueConstructorSyntax(BinaryLogicOperatorNode.java:131)
	at org.hibernate.hql.internal.ast.tree.BinaryLogicOperatorNode.mutateRowValueConstructorSyntaxesIfNecessary(BinaryLogicOperatorNode.java:85)
	at org.hibernate.hql.internal.ast.tree.BinaryLogicOperatorNode.initialize(BinaryLogicOperatorNode.java:65)
	at org.hibernate.hql.internal.ast.HqlSqlWalker.prepareLogicOperator(HqlSqlWalker.java:1476)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:4712)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2161)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:827)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:621)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:325)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:273)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:272)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:192)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:144)
	at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:113)
	at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:73)
	at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:155)
	at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:604)
	at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:716)

When using the IN predicate, the query works, but it might be desireable to use quantifier {{ = ALL()}}.

( https://hibernate.atlassian.net/browse/HHH-14015#add-comment?atlOrigin=eyJpIjoiZDliZmUwY2Q3ZjNkNGZiOWIxMGM1YWZjNWM3YjE4YzQiLCJwIjoiaiJ9 ) Add Comment ( https://hibernate.atlassian.net/browse/HHH-14015#add-comment?atlOrigin=eyJpIjoiZDliZmUwY2Q3ZjNkNGZiOWIxMGM1YWZjNWM3YjE4YzQiLCJwIjoiaiJ9 )

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.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail ) or iOS ( https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8 ) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100126- sha1:dd08494 )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/hibernate-issues/attachments/20200512/96ba66b0/attachment.html 


More information about the hibernate-issues mailing list