[Java lista] eclipselink+postgresql+stored procedure

István Viczián viczian.istvan at gmail.com
2009. Júl. 29., Sze, 20:54:06 CEST


Nem olvastam végig, de a select new Permission(...) from... féle
megadás nem segít?

Viczi

2009/7/29 zamek <zamek at vili.pmmf.hu>:
> 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
> ----------------------------------
>
> _______________________________________________
> 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