2011-10-30 59 views
-1

我有這個查詢使用JPA執行,但它不想工作...但是,如果我嘗試直接在數據庫查詢exectuor上它可以正常工作。請問問題在哪裏?jpa中的聯合表

public static void GETGET() 
    { 
    String str = "SELECT w FROM Workers w ,Liens l ,Qualifications q WHERE l.woId = w.woId AND l.quId = q.quId AND w.woNuitT > 0"; 

    javax.persistence.EntityManager entityManager= UtilDAO.getInstance().entityManager; 
    Query query = entityManager.createQuery(str); 
    try 
    { 
     List<Workers> ob =query.getResultList(); 
    } 
    catch(Exception ex) 
    { 
     ex.printStackTrace(); 
    } 

} 
+1

每當我的用戶編寫錯誤報告,說「X不起作用」我不知道爲什麼它沒有發生過任何人的東西是如何失敗的可能是一個線索爲什麼它失敗了。但作爲程序員,我們當然知道更好,並描述了觀察和預期的行爲? – meriton

+0

你會得到什麼例外?查詢看起來不錯(我會整理類名之間的逗號以防萬一)。您在連接上使用的數據類型是否完全相同? @meriton:「電腦說不」? :D – Augusto

+0

此外,您的映射文件或註釋的實體類可能相關。但請保持簡短,另見http://sscce.org/。 – meriton

回答

1

如果您在JPA中運行SQL查詢,請使用下面的代碼。

Query query = entityManager.createNativeQuery(str); 

相反的,

Query query = entityManager.createQuery(str);