关于hibernate的问题,谢谢!

boyyunyan 2003-09-01 09:50:08
在使用hibernate的时候,遇到以下这个问题,向各位老师请教
report 与 reportdata 是一对多关系的两个表,xml里面已经配置好了,但是使用a语句时候出现异常,改为b语句,就没有问题了,为什么啊?
a.
List list =
sess.find(
"FROM cn.com.tzsoft.nrgl.dbo.ReportData reportdata WHERE REPORT_ID =? AND reportdata.id = ?",
new Object[] { "1", "1" },
new Type[] { Hibernate.STRING, Hibernate.STRING });
b.
List list =
sess.find(
"FROM cn.com.tzsoft.nrgl.dbo.ReportData reportdata WHERE REPORT_ID =? AND DATA_ID = ?",
new Object[] { "1", "1" },
new Type[] { Hibernate.STRING, Hibernate.STRING });

异常:
net.sf.hibernate.QueryException: path expression ends in a composite value: reportda0_.id [select reportdata FROM cn.com.tzsoft.nrgl.dbo.ReportData as reportdata WHERE REPORT_ID =? AND reportdata.id = ?]
at net.sf.hibernate.hql.PathExpressionParser.getWhereColumn(PathExpressionParser.java:372)
at net.sf.hibernate.hql.WhereParser.doPathExpression(WhereParser.java:379)
at net.sf.hibernate.hql.WhereParser.doToken(WhereParser.java:393)
at net.sf.hibernate.hql.WhereParser.token(WhereParser.java:279)
at net.sf.hibernate.hql.ClauseParser.token(ClauseParser.java:87)
at net.sf.hibernate.hql.PreprocessingParser.token(PreprocessingParser.java:120)
at net.sf.hibernate.hql.ParserHelper.parse(ParserHelper.java:29)
at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:146)
at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:133)
at net.sf.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:352)
at net.sf.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:330)
at net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1368)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1332)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1322)
at cn.com.tzsoft.nrgl.test.TestReport.testReportData(TestReport.java:238)
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:324)
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 junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:392)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:276)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:167)
...全文
73 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧