[hibernate-issues] [Hibernate-JIRA] Closed: (HHH-558) HQL doesn't support multi-byte character in class name and property names
Steve Ebersole (JIRA)
noreply at atlassian.com
Mon Mar 21 13:01:16 EDT 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steve Ebersole closed HHH-558.
------------------------------
Closing stale resolved issues
> HQL doesn't support multi-byte character in class name and property names
> -------------------------------------------------------------------------
>
> Key: HHH-558
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-558
> Project: Hibernate Core
> Issue Type: Bug
> Affects Versions: 3.0 final, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5
> Environment: Hibernate 3.0.X, hsqldb
> Reporter: zhangwei
> Assignee: Joshua Davis
> Fix For: 3.1 beta 1
>
>
> HQL:
> from User user where user.\u4e2d like '%\u4e2d%'
> when classname or property name contains multi-byte character, Query.list() will throws an exception which says
> org.hibernate.QueryException: unexpected char: 0xF6 [from com.hsd.security.User user where user.中文 like '%中文%']
> at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:165)
> at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
> at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:427)
> at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:884)
> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:834)
> at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
> at test.TestHibernate.test中文字符串(TestHibernate.java:11)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194)
> Caused by: line 1:44: unexpected char: 0xF6
> at org.hibernate.hql.antlr.HqlBaseLexer.nextToken(HqlBaseLexer.java:281)
> 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.antlr.HqlBaseParser.identPrimary(HqlBaseParser.java:3728)
> at org.hibernate.hql.antlr.HqlBaseParser.primaryExpression(HqlBaseParser.java:3311)
> at org.hibernate.hql.antlr.HqlBaseParser.atom(HqlBaseParser.java:3031)
> at org.hibernate.hql.antlr.HqlBaseParser.unaryExpression(HqlBaseParser.java:2806)
> at org.hibernate.hql.antlr.HqlBaseParser.multiplyExpression(HqlBaseParser.java:2687)
> at org.hibernate.hql.antlr.HqlBaseParser.additiveExpression(HqlBaseParser.java:2407)
> at org.hibernate.hql.antlr.HqlBaseParser.concatenation(HqlBaseParser.java:481)
> at org.hibernate.hql.antlr.HqlBaseParser.relationalExpression(HqlBaseParser.java:2195)
> at org.hibernate.hql.antlr.HqlBaseParser.equalityExpression(HqlBaseParser.java:2057)
> at org.hibernate.hql.antlr.HqlBaseParser.negatedExpression(HqlBaseParser.java:2020)
> at org.hibernate.hql.antlr.HqlBaseParser.logicalAndExpression(HqlBaseParser.java:1937)
> at org.hibernate.hql.antlr.HqlBaseParser.logicalOrExpression(HqlBaseParser.java:1901)
> at org.hibernate.hql.antlr.HqlBaseParser.expression(HqlBaseParser.java:1663)
> at org.hibernate.hql.antlr.HqlBaseParser.logicalExpression(HqlBaseParser.java:1834)
> at org.hibernate.hql.antlr.HqlBaseParser.whereClause(HqlBaseParser.java:376)
> at org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:617)
> at org.hibernate.hql.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:263)
> at org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:150)
> at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:209)
> at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:127)
> ... 19 more
--
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