-2
這裏是我的數據庫的示意圖 我想從我的
tables
和dataweb
,gmail
和blogger
。我是一個新手的信息,我可以選擇成爲最容易執行查詢,我已閱讀了一些文件和相關問題。Hibernate的多個表
我用下面的查詢:
String sql = "SELECT parseUrl,w.url,w.status,title,content,label,labelTXT,desctiption,b.user,accessToken,clientID,clientSecret,p12FileLocation,b.lastModifiedTime\n"
+ " FROM MdDataweb w,MdParse p,MdParseBlogger pb,MdBlogger b,MdGmail g \n"
+ " INNER JOIN w.url=p.url\n"
+ " INNER JOIN p.url =pb.url\n"
+ " INNER JOIN pb.blog=b.blog\n"
+ " INNER JOIN b.user=g.user";
return currentSession.createQuery(sql).list();
但是,當我發揮它始終是一個錯誤信息,請大家幫我
thg 12 02, 2015 2:31:22 CH org.hibernate.hql.internal.ast.ErrorCounter reportError
ERROR: line 3:24: unexpected token: =
thg 12 02, 2015 2:31:22 CH org.hibernate.hql.internal.ast.ErrorCounter reportError
ERROR: line 3:24: unexpected token: =
line 3:24: unexpected token: =
at org.hibernate.hql.internal.antlr.HqlBaseParser.fromJoin(HqlBaseParser.java:1687)
at org.hibernate.hql.internal.antlr.HqlBaseParser.fromClause(HqlBaseParser.java:1371)
at org.hibernate.hql.internal.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1077)
at org.hibernate.hql.internal.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:723)
at org.hibernate.hql.internal.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:316)
at org.hibernate.hql.internal.antlr.HqlBaseParser.statement(HqlBaseParser.java:179)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:295)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:203)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:158)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:126)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:88)
at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:190)
at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301)
at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236)
at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1796)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:356)
at com.sun.proxy.$Proxy3.createQuery(Unknown Source)
at dbUtility.DBTable.showDataweb(DBTable.java:73)
at dbUtility.DBTable.main(DBTable.java:79)
thg 12 02, 2015 2:31:22 CH org.hibernate.hql.internal.ast.ErrorCounter reportError
ERROR: line 4:26: unexpected token: =
thg 12 02, 2015 2:31:22 CH org.hibernate.hql.internal.ast.ErrorCounter reportError
ERROR: line 4:26: unexpected token: =
line 4:26: unexpected token: =
at org.hibernate.hql.internal.antlr.HqlBaseParser.fromJoin(HqlBaseParser.java:1687)
at org.hibernate.hql.internal.antlr.HqlBaseParser.fromClause(HqlBaseParser.java:1371)
at org.hibernate.hql.internal.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1077)
at org.hibernate.hql.internal.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:723)
at org.hibernate.hql.internal.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:316)
at org.hibernate.hql.internal.antlr.HqlBaseParser.statement(HqlBaseParser.java:179)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:295)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:203)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:158)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:126)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:88)
at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:190)
at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301)
at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236)
at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1796)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:356)
at com.sun.proxy.$Proxy3.createQuery(Unknown Source)
at dbUtility.DBTable.showDataweb(DBTable.java:73)
at dbUtility.DBTable.main(DBTable.java:79)
請閱讀關於休眠的教程。此查詢完全錯誤 –
如果您將實體映射到正確的位置,則不必像現在一樣自行進行連接。 – Antoniossss
你的sql不是有效的hibernate查詢。顯示你的實體。 – Patrick