[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