[Java lista] JPQL Result Type of the SELECT Clause

Forgó Zoltán zforgo at gmail.com
2010. Már. 12., P, 17:04:23 CET


Üdv!

Lehet, hogy valamit félreértek, de nem a
@NamedNativeQuery Ă©s @SqlResultSetMapping kell neked?

@NamedNativeQueries({

@NamedNativeQuery(

name = "queryname",
query = "SELECT .. FROM ... WHERE",
resultSetMapping = "myMapping"

)

})

@SqlResultSetMapping(

name ="myMapping",
entities =  { @EntityResult( entityClass = EntityName.class) }

)


Z


2010/3/12 Szomor Attila <aszomor at computertechnika.hu>

> 2010.03.12. 16:26:59 dĂĄtumon VerhĂĄs IstvĂĄn <istvan at verhas.com> Ă­rta:
>
> > Amire te vĂĄgysz az a lazy loading. Ezt tĂĄmogatj a JPA ha az attributum
> > nem primitív hanem entitås. Az alapértelmezett fetch type a kapcsolat
> > szĂĄmossĂĄgĂĄtĂłl fĂŒgg. Ha a tĂșloldalbĂłl csak egy van akkor eager vagyis
> > betölti, ha sok akkor lazy. SzĂłval a sokkal nem kell törƑdni azt eleve
> > nem tölti be csak amikor meghívod a gettert, az egy az egyes illetve az
> > n az egyes-nél pedig be lehet ållítani pl. így
> > @OneToOne(fetch=FetchType.LAZY)
> > Ezt kérdezted?
> > ĂŒdv
> > vi
>
> Sajna nem, ezt (Ă©s mĂ©g sok ilyet) szeretnĂ©m elkerĂŒlni:
> ------------------------------------------------------
> String query = "SELECT e FROM TerapiaTerap e";
> if (gridParams.getOtherGridParams().containsKey("GENERIC_GRID_QUERY")) {
>    query = "SELECT e.id,e.tenam,e.tecna,e.teflg FROM TerapiaTerap e";
> }
> response = JPAUtils.getBlockFromQuery(
>    gridParams.getAction(),
>    gridParams.getStartPos(),
>    blockSize,
>    gridParams.getFilteredColumns(),
>    gridParams.getCurrentSortedColumns(),
>    gridParams.getCurrentSortedVersusColumns(),
>    TerapiaTerap.class,
>    query,
>    new Object[0],
>    em
> );
> if (gridParams.getOtherGridParams().containsKey("GENERIC_GRID_QUERY")) {
>    // EZ AZ AMIT NEM SZERETNÉK !!!
>    VOListResponse voListResponse = (VOListResponse)response;
>    ArrayList<TerapiaTerap> terapiaList = new ArrayList<TerapiaTerap>();
>    List rows = voListResponse.getRows();
>    for (int c=0; c<rows.size(); c++) {
>       TerapiaTerap terapiaTerap = new TerapiaTerap();
>       Object[] row = (Object[])rows.get(c);
>       terapiaTerap.setId((BigInteger)row[0]);
>       terapiaTerap.setTenam((String)row[1]);
>       terapiaTerap.setTecna((String)row[2]);
>       terapiaTerap.setTeflg((String)row[3]);
>       terapiaList.add(terapiaTerap);
>    }
>    response = new
>
> VOListResponse(terapiaList,voListResponse.isMoreRows(),voListResponse.getResultSetLength());
>    // EDDIG TART A TRANSFORMÁCIÓ OBJECT[] to ArrayList<TerapiaTerap> $$$
> }
> return response;
> mivel a JPA vĂĄlasz egy "Object[]" nem pedig egy "TerapiaTerap" osztĂĄly a
> kért négy attributummal feltöltve (sajnos)!
>
> Ami miatt Ă©rdekel ennek a tĂĄblĂĄnak szĂĄznĂĄl több egyszerĂș attributuma van,
> amibƑl a kliensnek 4 kell abból is kettƑ hidden a grid-ben.
>
> --
> PĂ©cs is the European Capital of Culture in 2010
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>


2010/3/12 Szomor Attila <aszomor at computertechnika.hu>

> 2010.03.12. 16:26:59 dĂĄtumon VerhĂĄs IstvĂĄn <istvan at verhas.com> Ă­rta:
>
> > Amire te vĂĄgysz az a lazy loading. Ezt tĂĄmogatj a JPA ha az attributum
> > nem primitív hanem entitås. Az alapértelmezett fetch type a kapcsolat
> > szĂĄmossĂĄgĂĄtĂłl fĂŒgg. Ha a tĂșloldalbĂłl csak egy van akkor eager vagyis
> > betölti, ha sok akkor lazy. SzĂłval a sokkal nem kell törƑdni azt eleve
> > nem tölti be csak amikor meghívod a gettert, az egy az egyes illetve az
> > n az egyes-nél pedig be lehet ållítani pl. így
> > @OneToOne(fetch=FetchType.LAZY)
> > Ezt kérdezted?
> > ĂŒdv
> > vi
>
> Sajna nem, ezt (Ă©s mĂ©g sok ilyet) szeretnĂ©m elkerĂŒlni:
> ------------------------------------------------------
> String query = "SELECT e FROM TerapiaTerap e";
> if (gridParams.getOtherGridParams().containsKey("GENERIC_GRID_QUERY")) {
>    query = "SELECT e.id,e.tenam,e.tecna,e.teflg FROM TerapiaTerap e";
> }
> response = JPAUtils.getBlockFromQuery(
>    gridParams.getAction(),
>    gridParams.getStartPos(),
>    blockSize,
>    gridParams.getFilteredColumns(),
>    gridParams.getCurrentSortedColumns(),
>    gridParams.getCurrentSortedVersusColumns(),
>    TerapiaTerap.class,
>    query,
>    new Object[0],
>    em
> );
> if (gridParams.getOtherGridParams().containsKey("GENERIC_GRID_QUERY")) {
>    // EZ AZ AMIT NEM SZERETNÉK !!!
>    VOListResponse voListResponse = (VOListResponse)response;
>    ArrayList<TerapiaTerap> terapiaList = new ArrayList<TerapiaTerap>();
>    List rows = voListResponse.getRows();
>    for (int c=0; c<rows.size(); c++) {
>       TerapiaTerap terapiaTerap = new TerapiaTerap();
>       Object[] row = (Object[])rows.get(c);
>       terapiaTerap.setId((BigInteger)row[0]);
>       terapiaTerap.setTenam((String)row[1]);
>       terapiaTerap.setTecna((String)row[2]);
>       terapiaTerap.setTeflg((String)row[3]);
>       terapiaList.add(terapiaTerap);
>    }
>    response = new
>
> VOListResponse(terapiaList,voListResponse.isMoreRows(),voListResponse.getResultSetLength());
>    // EDDIG TART A TRANSFORMÁCIÓ OBJECT[] to ArrayList<TerapiaTerap> $$$
> }
> return response;
> mivel a JPA vĂĄlasz egy "Object[]" nem pedig egy "TerapiaTerap" osztĂĄly a
> kért négy attributummal feltöltve (sajnos)!
>
> Ami miatt Ă©rdekel ennek a tĂĄblĂĄnak szĂĄznĂĄl több egyszerĂș attributuma van,
> amibƑl a kliensnek 4 kell abból is kettƑ hidden a grid-ben.
>
> --
> PĂ©cs is the European Capital of Culture in 2010
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
--------- következő rész ---------
Egy csatolt HTML ĂĄllomĂĄny ĂĄt lett konvertĂĄlva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20100312/813bdc56/attachment-0001.html 


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