[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