[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