[hibernate-dev] Some insight about HHH-12101 / remove HQL-style positional parameters

Laurent Almeras lalmeras at gmail.com
Fri Feb 2 12:00:54 EST 2018


Hi,

Testing Hibernate 9.3.0.Beta2, I run into this issue:


===============
  Cannot define positional and named parameterSpecs : select 
queuedTaskHolder
from org.iglooproject.jpa.more.business.task.model.QueuedTaskHolder 
queuedTaskHolder
where queuedTaskHolder.status in (:x1_0, :x1_1, :x1_2, :x1_3) and 
queuedTaskHolder.queueId = ?2
===============


Hibernate complains that query contains both named and positional 
parameters (note that this query use to work on Hibernate 5.2.x).

This new behavior is linked to:

* this commit: 
https://github.com/hibernate/hibernate-orm/commit/5e0274adbbd3e0aa3092c29a765fd203c8279126
* this issue: https://hibernate.atlassian.net/browse/HHH-12116
* and this parent issue: https://hibernate.atlassian.net/browse/HHH-12101

I also find that you already talk about this behavior on this same 
mailing-list: 
http://lists.jboss.org/pipermail/hibernate-dev/2016-September/015460.html


I think that allowing this behavior was not a good idea, so I don't have 
any hope that you consider this as a bug. But I think it should be 
noticed in the release note 
(http://in.relation.to/2018/01/18/hibernate-orm-530-beta1-release/) or 
in this ticket (https://hibernate.atlassian.net/browse/HHH-12101) as a 
side-effect.


On my side, I run in this issue because I use QueryDSL-jpa, and the 
query I give as an example is buggy because it mixes a IN statement 
(named parameter) dans an EQUAL statement (positional parameter).

Is there anyone following both Hibernate and QueryDSL here that is 
already aware or working on this issue ?


Thanks

Laurent Almeras



More information about the hibernate-dev mailing list