[Java lista] eclipselink+postgresql+stored procedure

Tapodi Zoltán tapodiz at freemail.hu
2009. Júl. 29., Sze, 23:07:06 CEST


Helló,

Próbáld meg a :userId helyett a ?1 használni a queryben és a 
qry.setParameter(1, usr.getId());

Üdv: Zoli

zamek írta:
> hello,
>
> Igen, csak a Te peldaid egy selectre vonatkoznak, nem egy stored 
> function-ra. Kiprobaltam, hisztizik a userId input parameteren.
> Igy probaltam:
>
> @NamedNativeQuery(name = "getUserPermissions",
>                                     query = "SELECT p_id, p_name, p_mask 
> FROM userpermissions(:userId)",
>                                     resultSetMapping = "uperm")
> @SqlResultSetMapping(name = "uperm",
>          entities = {@EntityResult(entityClass = Permissions.class,
>                fields = {@FieldResult(name = "id", column = "p_id"),
>                          @FieldResult(name = "name", column = "p_name"),
>                          @FieldResult(name = "mask", column = "p_mask")
>              })
> })
> ...
>
> Query qry =em.createNamedQuery("getUserPermissions");
> qry.setParameter("userId", usr.getId());
> List res = qry.getResultList();
> return res;
>
>
> Tapodi Zoltán írta:
>   
>> Szia,
>>
>> én sem olvastam végig, de én hasonlóan mappeltem natív query eredményét 
>> ( ez csak egy fiktív kód, a vastagon szedett nevekre figyelni kell):
>>
>> @NamedNativeQuery(name = "getAttributes",
>>                                    query = "SELECT id, *attrib_name*, 
>> string_value FROM attributes WHERE attrib_name='color'",
>>                                    resultSetMapping = "*attributeMapping*")
>> @SqlResultSetMapping(name = "*attibuteMapping*",
>>                                      entities = {
>>                                                      
>> @EntityResult(entityClass = *AttributeInfo*.class,
>>                                                                             
>> fields = {
>>     
>>                                                                                      
>> @FieldResult(name = "id", column = "id"),
>>                                                                         
>>                  @FieldResult(name = "*attribName*", column = 
>> "*attrib_name*"),
>>                                                                        
>>                   @FieldResult(name = "value", column = "string_value")
>>                                                                          
>>                 }) })
>>
>>     



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