[hibernate-issues] [Hibernate-JIRA] Closed: (HHH-1247) HQL doesn't allow '$' as the leading character for property names
Steve Ebersole (JIRA)
noreply at atlassian.com
Mon Mar 21 13:01:00 EDT 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steve Ebersole closed HHH-1247.
-------------------------------
Closing stale resolved issues
> HQL doesn't allow '$' as the leading character for property names
> -----------------------------------------------------------------
>
> Key: HHH-1247
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1247
> Project: Hibernate Core
> Issue Type: Bug
> Components: core
> Affects Versions: 3.1 rc3
> Environment: Hibernate 3.1-rc3; Windows; JDK1.5.0; SQLSerer2ksp4
> Reporter: Dean Arnold
> Assignee: Joshua Davis
>
> HQL Query example:
> select distinct user.party from com.itf.iceclaims.domain.party.user.UserImpl user inner join user.party.$RelatedWorkgroups relatedWorkgroups where relatedWorkgroups.workgroup.id = :workgroup and relatedWorkgroups.effectiveTime.start <= :datesnow and relatedWorkgroups.effectiveTime.end > :dateenow
> Stack Trace:
> Caused by: org.hibernate.QueryException: unexpected char: '$' [select distinct user.party from com.itf.iceclaims.domain.party.user.UserImpl user inner join user.party.$RelatedWorkgroups relatedWorkgroups where relatedWorkgroups.workgroup.id = :workgroup and relatedWorkgroups.effectiveTime.start <= :datesnow and relatedWorkgroups.effectiveTime.end > :dateenow]
> at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:190)
> at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:103)
> at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:72)
> at org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:52)
> at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:71)
> at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:108)
> at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:88)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at org.springframework.orm.hibernate3.HibernateTemplate$CloseSuppressingInvocationHandler.invoke(HibernateTemplate.java:1178)
> at $Proxy195.createQuery(Unknown Source)
> at com.itf.iceclaims.dao.party.user.UserDaoHibernateImpl$2.doInHibernate(UserDaoHibernateImpl.java:85)
> at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:365)
> ... 55 more
> Caused by: line 1:105: unexpected char: '$'
> at org.hibernate.hql.antlr.HqlBaseLexer.nextToken(HqlBaseLexer.java:278)
> at antlr.TokenBuffer.fill(TokenBuffer.java:69)
> at antlr.TokenBuffer.LA(TokenBuffer.java:80)
> at antlr.LLkParser.LA(LLkParser.java:52)
> at org.hibernate.hql.ast.HqlParser.weakKeywords(HqlParser.java:281)
> at org.hibernate.hql.antlr.HqlBaseParser.path(HqlBaseParser.java:542)
> at org.hibernate.hql.antlr.HqlBaseParser.fromJoin(HqlBaseParser.java:1705)
> at org.hibernate.hql.antlr.HqlBaseParser.fromClause(HqlBaseParser.java:1420)
> at org.hibernate.hql.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1130)
> at org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:702)
> at org.hibernate.hql.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:296)
> at org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:159)
> at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:236)
> at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:153)
> ... 69 more
> Propsed/Working Solution:
> Update the 'hql.g' grammer file, lines 780 to 792, with the following code fragment. (I have moved the '$' character from the ID_LETTER to the ID_START_LETTER):
> protected
> ID_START_LETTER
> : '_'
> | 'a'..'z'
> | '\u0080'..'\ufffe' // HHH-558 : Allow unicode chars in identifiers
> | '$'
> ;
> protected
> ID_LETTER
> : ID_START_LETTER
> | '0'..'9'
> ;
--
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