在我Benutzer-Entity我有以下OneToMany關系:@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval=true)@JoinColumn(name="BENUTZER_ID")private List<Dokument> dokumente = new ArrayList<>();在我中,Dokument-Entity我現在想Dokument通過它hash-value和它的搜索來獲得一個特定的foreign-key (BenutzerID)- 我試圖通過以下方式做到這一點NamedNativeQuery:@NamedNativeQueries({ @NamedNativeQuery( name="findDokumentByHashAndBenutzerID", query="SELECT d.* FROM Dokument d " + "JOIN Benutzer b ON d.Benutzer_id = b.Id_Benutzer WHERE d.Benutzer_id = ? AND d.Hash = ?")})當我在我的數據庫 (H2) 中使用這個查詢時,它可以工作,但在 Java 中我得到以下異常:javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException 內部異常: org.h2.jdbc.JdbcSQLException: SQL Syntax Fehler Befehl "FINDDOKUMENTBYHASHANBENUTZERID[ ] "; erwartet "FROM, {" SQL 語句中的語法錯誤 "FINDDOKUMENTBYHASHANBENUTZERID[] "; 預期 "FROM, {"; SQL 語句:findDokumentByHashAndBenutzerID [42001-197] 錯誤代碼:42001 調用:findDokumentByHashAndBenutzerID 查詢:ReadAllQuery(referenceClass=Dokument sql="findDokumentByHashAndBenutzerID") at org.ineclipseternal.persist.persistence QueryImpl.getDetailedException(QueryImpl.java:377) at org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:260) at org.eclipse.persistence.internal.jpa.QueryImpl.getSingleResult(QueryImpl.java: 516) 在
1 回答

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
基于異常,我猜你會打電話
entityManager.createQuery("findDokumentByHashAndBenutzerID");
代替
entityManager.createNamedQuery("findDokumentByHashAndBenutzerID");
添加回答
舉報
0/150
提交
取消