簡體   English   中英

涉及外鍵的休眠查詢

[英]hibernate query involving foreign key

我正在嘗試編寫一個休眠查詢,該查詢根據某些條件從表中選擇許多記錄。

我的數據庫中有兩個相關的表

tbleventattendees具有以下字段-eventAttendeeRecord tblevent,tblmembers和memberComments;

tblevent具有以下字段相關字段eventID ,它是tbleventattendees中的tblevent外鍵

我想要做的是編寫一個HQL查詢,該查詢向與會者顯示特定事件的與會者,例如,類似此SQL查詢的select * from tbleventattendees,其中tblevent = 1

但是,當我嘗試從tbleventattendees嘗試在NetWorks中運行HQL查詢的tblevent = 1時,這在MySQL工作台中作為SQL查詢工作時,出現以下錯誤

org.hibernate.QueryException: Incorrect query syntax [ FROM
Society.Tbleventattendees as attendees where Tblevent =1
]
    at org.hibernate.hql.internal.classic.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:259)
    at org.hibernate.hql.internal.classic.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:209)
    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)
Caused by: java.lang.NullPointerException
    at org.hibernate.sql.QuerySelect.appendTokens(QuerySelect.java:185)
    at org.hibernate.sql.QuerySelect.setWhereTokens(QuerySelect.java:103)
    at org.hibernate.hql.internal.classic.QueryTranslatorImpl.renderSQL(QueryTranslatorImpl.java:625)
    at org.hibernate.hql.internal.classic.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:243)
    ... 9 more

我認為這是因為我在查詢中而不是對象引用中使用數據庫中的值,因為當我刪除= 1個條件時,在該列中獲得以下值

Society.Tblevent@6a2437ae

有人可以幫忙嗎,我已經閱讀了許多此處的文章,但仍在努力尋找答案

您可以這樣寫:

Query query = session.createQuery("from Tbleventattendees attendees where attendees.tblevent.eventID  = :tbleventId ");
query.setParameter("tbleventId", "1");
List list = query.list();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM