[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2647?page=c...
]
Guillaume Jeudy commented on HHH-2647:
--------------------------------------
I'm getting the same problem with the following and Nicolas's workaround to use
NOT(not(3 and 4) and not(5 and 6) doesnt work.
Here's the HQL produced and the SQL results:
HQL: from SymbolMappingImpl e
where (e.businessKey.subBusinessDivisionCdId = 5412 and e.businessKey.productFamilyCdId =
4540 and e.businessKey.symbolCdId = 5969 and e.businessKey.companyCdId = 3802 and
e.businessKey.stateCdId = 3744) or
(e.businessKey.subBusinessDivisionCdId = 5412 and e.businessKey.productFamilyCdId = 4540
and e.businessKey.symbolCdId = 5969
and e.businessKey.companyCdId = 3802 and e.businessKey.stateCdId = 3744)
SQL: select symbolmapp0_.SymbolMappingId as SymbolMa1_217_,
symbolmapp0_.SubBusinessDivisionCdId as SubBusin2_217_,
symbolmapp0_.ProductFamilyCdId as ProductF3_217_, symbolmapp0_.SymbolCdId as
SymbolCdId217_,
symbolmapp0_.CompanyCdId as CompanyC5_217_, symbolmapp0_.StateCdId as StateCdId217_,
symbolmapp0_.EffectiveDt as Effectiv7_217_,
symbolmapp0_.ExpirationDt as Expirati8_217_
from SymbolMapping symbolmapp0_
where symbolmapp0_.SubBusinessDivisionCdId=5412 and symbolmapp0_.ProductFamilyCdId=4540
and symbolmapp0_.SymbolCdId=5969 and
symbolmapp0_.CompanyCdId=3802 and symbolmapp0_.StateCdId=3744 or
symbolmapp0_.SubBusinessDivisionCdId=5412 and symbolmapp0_.ProductFamilyCdId=4540 and
symbolmapp0_.SymbolCdId=5969 and
symbolmapp0_.CompanyCdId=3802 and symbolmapp0_.StateCdId=3744
I attached XML and java file. I have to fallback to raw SQL query to solve that one....
Problems with OR parenthesis in HQL
-----------------------------------
Key: HHH-2647
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2647
Project: Hibernate Core
Issue Type: Bug
Components: query-hql
Affects Versions: 3.2.1
Environment: Hibernate 3.2.1, postgresql 8.2, jboss 5 embedded beta 2
Reporter: Dennis Fleurbaaij
Original Estimate: 15 minutes
Remaining Estimate: 15 minutes
Given the following (part) of a query in HQL (where 1 to 6 are comparisons of different
types (=, <=, is null), but irrelevant for the problem posted here ):
AND ( ( 1 AND 2 ) OR ( 3 AND 4 ) OR ( 5 AND 6 ) )
will be balanced to:
and ( ( 1 ) and 2 or 3 and ( 4 ) or 5 and 6 )
--
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....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira