我在這個查詢中遇到了一個奇怪的問題。 代碼:更改查詢參數時JPA非常奇怪的錯誤
em2=getNewEntityManager();
(...)
Query query2 = em2.createNativeQuery("SELECT DISTINCT ID_ZONA FROM VWG_REL_USUARIOS_ZONAS WHERE DNI like '"+dni+"'") ;
List <Long> permisos = query2.getResultList();
(...)
如果 「DNI」 等於 「%」 則查詢轉到正常的,但如果 「DNI」 是 「%123456789」 給出了這樣的錯誤
javax.persistence.PersistenceException:異常[EclipseLink-4002] (Eclipse持久性服務 - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException 內部異常:java.sql.SQLException:sql字符串不是dml語句 錯誤代碼:17129 調用:SELECT DISTINCT ID_ZONA F ROM VWG_REL_USUARIOS_ZONAS WHERE DNI LIKE '%XX828747B' 查詢:DataReadQuery(SQL = 「SELECT DISTINCT ID_ZONA FROM VWG_REL_USUARIOS_ZONAS WHERE DNI LIKE '%XX828747B'」)
如果我複製上面的確切查詢我的SQL開發人員,它像魔術一樣工作。 我試過用實體和所有東西的「createQuery」,同樣的錯誤。
非常感謝
DNI是整數或字符串類型呢? –
字符串類型,西班牙語DNI格式 –