[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