[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2647?page=c...
]
David Castro commented on HHH-2647:
-----------------------------------
I am getting the same problem:
"c.owner=? and ("
+ "(c.homeNumber is not null and c.mobileNumber<>''
and c.homeNumber=?) or "
+ "(c.mobileNumber is not null and c.mobileNumber<>''
and c.mobileNumber=?) or "
+ "(c.workNumber is not null and c.workNumber<>'' and
c.workNumber=?) or "
+ "(c.pagerNumber is not null and c.pagerNumber<>''
and c.pagerNumber=?) or "
+ "(c.otherNumber1 is not null and c.otherNumber1<>''
and c.otherNumber1=?) or "
+ "(c.otherNumber2 is not null and c.otherNumber2<>''
and c.otherNumber2=?) or "
+ "(c.otherNumber3 is not null and c.otherNumber3<>''
and c.otherNumber3=?) or "
+ "(c.otherNumber4 is not null and c.otherNumber4<>''
and c.otherNumber4=?))"
HQL snipped is getting converted to:
select contact0_.ym_contact_id as ym1_25_, contact0_.title as title25_,
contact0_.firstName as firstName25_, contact0_.middleName as middleName25_,
contact0_.lastName as lastName25_,
contact0_.emailAddress as emailAdd6_25_, contact0_.organization as organiza7_25_,
contact0_.home_num as home8_25_, contact0_.mobile_num as mobile9_25_, contact0_.work_num
as work10_25_,
contact0_.pager_num as pager11_25_, contact0_.other_num1 as other12_25_,
contact0_.other_num2 as other13_25_, contact0_.other_num3 as other14_25_,
contact0_.other_num4 as other15_25_,
contact0_.owner_id as owner16_25_ from ym_contact contact0_ where contact0_.owner_id=?
and (
(contact0_.home_num is not null) and contact0_.mobile_num<>'' and
contact0_.home_num=? or
(contact0_.mobile_num is not null) and contact0_.mobile_num<>'' and
contact0_.mobile_num=? or
(contact0_.work_num is not null) and contact0_.work_num<>'' and
contact0_.work_num=? or
(contact0_.pager_num is not null) and contact0_.pager_num<>'' and
contact0_.pager_num=? or
(contact0_.other_num1 is not null) and contact0_.other_num1<>'' and
contact0_.other_num1=? or
(contact0_.other_num2 is not null) and contact0_.other_num2<>'' and
contact0_.other_num2=? or
(contact0_.other_num3 is not null) and contact0_.other_num3<>'' and
contact0_.other_num3=? or
(contact0_.other_num4 is not null) and contact0_.other_num4<>'' and
contact0_.other_num4=?)
Problems with OR parenthesis in HQL
-----------------------------------
Key: HHH-2647
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2647
Project: Hibernate3
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