[hibernate-issues] [Hibernate-JIRA] Created: (HHH-5460) Variable naming when expanding collection-values JPQL parameters causes name collisions
Simon Dierl (JIRA)
noreply at atlassian.com
Wed Aug 11 09:58:40 EDT 2010
Variable naming when expanding collection-values JPQL parameters causes name collisions
---------------------------------------------------------------------------------------
Key: HHH-5460
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5460
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.3.1
Environment: Hibernate 3.3.1 as provided by JBoss 5.1.0.GA on Ubuntu x86_64 8.10 and Oracle (Sun) Java 1.6.0_20 using PostgreSQL 8.4.4
Reporter: Simon Dierl
Priority: Minor
When issuing a JPQL query to the database that uses multiple, similarly named, collection-valued parameters that have names ending in numbers, such as :foo0, :foo1, ..., :foo11, the parameters are internally expanded to foo00_, foo01_, so IN(:foo0) becomes IN($foo00_, foo01_, ...) Unfortunately, this means that the 11th element of :foo1 becomes $foo110_ and the 1st element of :foo11 becomes $foo110_ AS WELL. This causes the generation of erroneous database requests, the loss of rows that should be returned and the return of rows that were not requested. In the SQL query, the SQL variables are assigned incorrect values.
Workaround: Do not use JPQL parameters that end in numbers, terminate with letters (:foo0x, :foo1x, ..., :foo11x).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list