[Java lista] JPA lekerdezes

Peter Verhas peter at verhas.com
2008. Már. 4., K, 10:44:29 CET


Valamelyik parametered null?
Verhás Péter
+36(30)9306805
peter at verhas.com


-----Original Message-----
From: "Csaba Ragasits" <ragasits.csaba at gmail.com>
Date: Tue, 4 Mar 2008 10:24:38 
To:javalist <javalist at javagrund.hu>
Subject: [Java lista] JPA lekerdezes

Hello,

Próbálok dinamikusan összerakni egy JPQL-es lekérdezést (Netbeans,
Glassfish, Derby), ahol az alábbi érdekes problémába futottam bele:

Ha az összerakott lekérdezés csak egy paramétert tartalmaz (SELECT g
FROM Grawe g WHERE g.fiokId.id = :fid), akkor a lekérdezés jól
működik.

Amennyiben 2 vagy több paramétert próbálok belerakni a lekérdezésbe,
akkor a következő hibaüzenetet kapom:

Internal Exception: java.sql.SQLSyntaxErrorException: Syntax error:
Encountered ":" at line 1, column 43.
Error Code: -1
Call: SELECT g FROM Grawe g WHERE g.fiokId.id = :fid AND g.arfolyamId.id = :aid
Query: DataReadQuery()
Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build
b58g-fcs (09/07/2007))):
oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLSyntaxErrorException: Syntax error:
Encountered ":" at line 1, column 43.
Error Code: -1

Az összeállított lekérdezést a következő képpen hívom meg:

q = em.createNativeQuery(sql);    //paraméterek megadása
if (a != null) q.setParameter("aid", a.getId());
if (f != null) q.setParameter("fid", f.getId());
if (d != null) q.setParameter("did", d.getId());
return (Grawe[]) q.getResultList().toArray(new Grawe[0]);

Találkozott már valaki hasonló problémával?
Már napok óta küzdök vele, de nem nagyon tudok rájönni a hiba okára.

Thx,
Csaba
_______________________________________________
Javalist mailing list
Javalist at javagrund.hu
http://javagrund.hu/mailman/listinfo/javalist



További információk a(z) Javalist levelezőlistáról