[Java lista] eclipselink+postgresql+stored procedure
zamek
zamek at vili.pmmf.hu
2009. Júl. 29., Sze, 19:56:44 CEST
CoL írta:
> Hali,
>
> valamiért, az első leveledben írtad 2,3 példa, storedProcedure-t
> használtad, holott neked storedFunction-öd van. A procedúra nem tér
> vissza sorokkal, input/output paramjai vannak. A stored function tud
> visszatérni recordset-el, mint a Te esetedben.
> Szóval ha StoredFunctionCall -t használnál, nem működne?
Igaz, ez function.
ezt probaltam:
EntityManager em=this.getEntitytManager();
StoredFunctionCall plsql = new StoredFunctionCall();
plsql.setProcedureName("userpermissions");
plsql.addNamedArgument("userId", "userId", Integer.TYPE);
ValueReadQuery q = new ValueReadQuery();
q.setCall(plsql);
q.addArgument("userId");
List args = new ArrayList();
args.add(usr.getId());
q.addArgumentValues(args);
plsql.setResult("FUNCTION_RESULT", Permissions.class);
Query query = JpaHelper.createQuery(q, em);
return query.getResultList();
erre ez a hiba jon:
Caused by: java.lang.IllegalStateException: Query argument userId not
found in the list of parameters provided during query execution.
pedig van userId nevu parameter:
\df userpermissions
Függvény lista.
Séma | Név | Eredmény adattípusa. | Paraméter adattípusa.
--------+-----------------+----------------------+-----------------------
public | userpermissions | setof permissions | userid integer
(1 sor)
> bár fura ez a lentebbi hiba.
> Ugyan ez a lenti példád ha select * from permissions van akkor működik?
Ugyanaz a jelenseg:(
Lekertem ugy, hogy nem adtam meg persistent class-t neki. Ekkor egy
Vector az eredmeny, amely Object[] tomboket tartalmaz.
Az egyes sorok tombjei: Integer,String,Integer.
Vagyis tenyleg az, amire szukseg van. Megis, ha megadom a persistent
class nevet, akkor elrongalja, mindegy, hogy a tablabol, vagy a
storedfunction-bol jon az eredmeny.
Ez valami gonosz bug lehet?
--
thx,
----------------------------------
Zoltan Zidarics programmer
PTE-PMMFK H-7621 Pecs, Boszorkany u. 2. Hungary
E-Mail: zamek at vili.pmmf.hu
----------------------------------
További információk a(z) Javalist levelezőlistáról