Hibernate SELECT bez FROM tabuľky

2013-06-27 Tema obsahu Rastislav Siekel

  
  
Zdravím vospolok,

chcel by som sa spýtať, či niekto neriešil nasledujúci problém:

V Oracle mám tabuľky master a detail. Mám master a chcem k nemu
nájsť posledný detail, čo spravím v SQL takto:

... AND detail_id = 
(
    SELECT * FROM
    (
        SELECT detail_id
        FROM detail
        ORDER BY detail_time DESC
    )
    WHERE rownum = 1
)
...


Tu som narazil na problém, že Hibernate pomocou Criteria API asi
nevie spraviť "SELECT FROM (...) WHERE ...".
Aj DetachedCriteria, aj Criteria si vyžadujú Entitu (DTO), nad
ktorou pripravia SQL príkaz. Je nejaká možnosť ako toto obísť?

Vďaka,
Rastislav "Bedo" Siekel


  
 Ing. Rastislav Siekel 
Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia 
E-mail : 
  sie...@prosoft.sk  
Tel : 041/562 54 91 
Fax : 041/562 54 97 
Mobil : 0905 34 00 20 



  

  



RE: Hibernate SELECT bez FROM tabuľky

2013-06-27 Tema obsahu ŠVARC Jiří
Nevím jestli jsem dobře porozuměl, ale nešlo by to realizovat vyhledáním v 
seznamu detailů s kritériem odkazu na mastera,  nastavením řazení a  
query.setMaxResults(1)?

ing. Jiří Švarc
Programmer Analyst

Asseco Central Europe, a.s.
Solutions for Demanding Business
Budějovická 778/3a, 140 00 Praha 4
Czech Republic
Mobile: +420 737 944 536
jiri.sv...@asseco-ce.commailto:jiri.sv...@asseco-ce.com
www.asseco-ce.comhttp://www.asseco-ce.com

From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On Behalf 
Of Rastislav Siekel
Sent: Thursday, June 27, 2013 2:57 PM
To: Java
Subject: Hibernate SELECT bez FROM tabuľky

Zdravím vospolok,

chcel by som sa spýtať, či niekto neriešil nasledujúci problém:

V Oracle mám tabuľky master a detail. Mám master a chcem k nemu nájsť posledný 
detail, čo spravím v SQL takto:

... AND detail_id =
(
SELECT * FROM
(
SELECT detail_id
FROM detail
ORDER BY detail_time DESC
)
WHERE rownum = 1
)
...


Tu som narazil na problém, že Hibernate pomocou Criteria API asi nevie spraviť 
SELECT FROM (...) WHERE 
Aj DetachedCriteria, aj Criteria si vyžadujú Entitu (DTO), nad ktorou pripravia 
SQL príkaz. Je nejaká možnosť ako toto obísť?

Vďaka,
Rastislav Bedo Siekel


Ing. Rastislav Siekel
Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia
E-mail : sie...@prosoft.sk mailto:sie...@prosoft.sk
Tel : 041/562 54 91
Fax : 041/562 54 97
Mobil : 0905 34 00 20




Re: Hibernate SELECT bez FROM tabuľky

2013-06-27 Tema obsahu Rastislav Siekel

  
  
Otočiť to na vyhľadávanie "detail JOIN
  master" by v tomto prípade nešlo. Výsledok má byť zoznam mastrov
  (filtrovaný na ďalšie podmienky) s tým, že sú zadané podmienky aj
  na posledný detail.
  
  Principiálne hľadám, či je možné v Hibernate spraviť SELECT *
  FROM( SELECT...)
  
  
  Rastislav "Bedo" Siekel
  
  

 
   Ing. Rastislav Siekel 
  Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia 
  E-mail : 
sie...@prosoft.sk  
  Tel : 041/562 54 91 
  Fax : 041/562 54 97 
  Mobil : 0905 34 00 20 
  
  
  

  
  On 27. 6. 2013 15:11, ŠVARC Jiří wrote:


  
  
  
  
  
Nevím
jestli jsem dobře porozuměl, ale nešlo by to realizovat
vyhledáním v seznamu detailů s kritériem odkazu na mastera,
 nastavením řazení a  query.setMaxResults(1)?
 

  ing.
Jiří Švarc
  Programmer
  Analyst
   
  Asseco
Central Europe, a.s.
  Solutions for Demanding Business
  Budějovická
  778/3a, 140 00 Praha 4
  Czech Republic
  Mobile: +420 737 944 536
jiri.sv...@asseco-ce.com
www.asseco-ce.com

 

  
From:
konference-boun...@java.cz
[mailto:konference-boun...@java.cz] On Behalf Of Rastislav
Siekel
Sent: Thursday, June 27, 2013 2:57 PM
To: Java
Subject: Hibernate SELECT bez FROM tabuľky
  

 
Zdravím
  vospolok,
  
  chcel by som sa spýtať, či niekto neriešil nasledujúci
  problém:
  
  V Oracle mám tabuľky master a detail. Mám master a chcem k
  nemu nájsť posledný detail, čo spravím v SQL takto:
  
  ... AND detail_id = 
  (
      SELECT * FROM
      (
          SELECT detail_id
          FROM detail
          ORDER BY detail_time DESC
      )
      WHERE rownum = 1
  )
  ...
  
  
  Tu som narazil na problém, že Hibernate pomocou Criteria API
  asi nevie spraviť "SELECT FROM (...) WHERE ...".
  Aj DetachedCriteria, aj Criteria si vyžadujú Entitu (DTO), nad
  ktorou pripravia SQL príkaz. Je nejaká možnosť ako toto obísť?
  
  Vďaka,
  Rastislav "Bedo" Siekel

   
  
  
  Ing.
  Rastislav Siekel 
  Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia 
  E-mail : sie...@prosoft.sk
  
  Tel : 041/562 54 91 
  Fax : 041/562 54 97 
  Mobil : 0905 34 00 20 
  
  


  


  



Re: Hibernate SELECT bez FROM tabuľky

2013-06-27 Tema obsahu Rastislav Siekel

  
  
Možno som to nenapísal úplne jasne -
  skúsim inak
  
  Mám záznamy o oprave - hlavičky, a ku každej môže byť 1 - N
  detailov (priebeh opravy, na poslednej je aj prípadne ukončenie).
  Vytváram SELECT pre zoznam opráv, ktoré ešte nemajú koniec, t.j. s
  podmienkou, či posledný detail ešte nemá zadaný koniec (tie
  predošlé ho určite nemajú zadaný, takže obyčajný JOIN by mi vybral
  všetky opravy, lebo ku každému master existuje určite aspoň jeden
  detail, ktorý vyhovuje podmienke).
  
  posledný detail zistím v SQL tak ako som uviedol nižšie.
  
  Rastislav "Bedo" Siekel
  
  
  P.S.
  
  From detail d where d.master=:master order by d.order
  Tento príkaz vypíše pre 1 master všetky detaily, čo určite nie je
  to, čo hľadám.
  
  

 
   Ing. Rastislav Siekel 
  Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia 
  E-mail : 
sie...@prosoft.sk  
  Tel : 041/562 54 91 
  Fax : 041/562 54 97 
  Mobil : 0905 34 00 20 
  
  
  

  
  On 27. 6. 2013 16:11, Martin Beránek wrote:


  Není moc jasné zadání, ale hql
  From detail d where d.master=:master order by d.order
  Podle mě dělá co požadujete
  Martin
  Dne 27.6.2013 15:36 "Rastislav Siekel"
sie...@prosoft.sk
napsal(a):

  
Otočiť to na vyhľadávanie "detail JOIN master" by v
  tomto prípade nešlo. Výsledok má byť zoznam mastrov
  (filtrovaný na ďalšie podmienky) s tým, že sú zadané
  podmienky aj na posledný detail.
  
  Principiálne hľadám, či je možné v Hibernate spraviť
  SELECT * FROM( SELECT...)
  
  
  Rastislav "Bedo" Siekel
  

   Ing. Rastislav
  Siekel 
  Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia 
  E-mail : 
sie...@prosoft.sk  
  Tel : 041/562 54 91 
  Fax : 041/562 54 97 
  Mobil : 0905 34 00 20 
  
  
  
 
  On 27. 6. 2013 15:11, ŠVARC Jiří wrote:


  
Nevím

jestli jsem dobře porozuměl, ale nešlo by to
realizovat vyhledáním v seznamu detailů s kritériem
odkazu na mastera,  nastavením řazení a
 query.setMaxResults(1)?
 

  ing.

Jiří Švarc
  Programmer

  Analyst
   
  Asseco

Central Europe, a.s.
  Solutions for Demanding Business
  Budějovická

  778/3a, 140 00 Praha 4
  Czech Republic
  Mobile: +420 737 944 536
jiri.sv...@asseco-ce.com
www.asseco-ce.com

 

  
From:
konference-boun...@java.cz
[mailto:konference-boun...@java.cz]
On Behalf Of Rastislav Siekel
Sent: Thursday, June 27, 2013 2:57 PM
To: Java
Subject: Hibernate SELECT bez FROM
tabuľky
  

 
Zdravím

  vospolok,
  
  chcel by som sa spýtať, či niekto neriešil nasledujúci
  problém:
  
  V Oracle mám tabuľky master a detail. Mám master a
  chcem k nemu nájsť posledný detail, čo
  spravím v SQL takto:
  
  ... AND detail_id = 
  (
      SELECT * FROM
      (
          SELECT detail_id
          FROM detail
          ORDER BY detail_time DESC
      )
      WHERE rownum = 1
  )
  ...
  
  
  Tu som narazil na problém, že Hibernate pomocou
  Criteria API asi nevie spraviť "SELECT FROM (...)
  WHERE ...".
  Aj DetachedCriteria, aj Criteria si vyžadujú Entitu
  (DTO), nad ktorou pripravia SQL príkaz. Je nejaká
  možnosť ako toto obísť?
  
  Vďaka,
  Rastislav "Bedo" Siekel

   
  
 

Re: Hibernate SELECT bez FROM tabuľky

2013-06-27 Tema obsahu Martin Beránek
Není moc jasné zadání, ale hql

From detail d where d.master=:master order by d.order

Podle mě dělá co požadujete

Martin
Dne 27.6.2013 15:36 Rastislav Siekel sie...@prosoft.sk napsal(a):

  Otočiť to na vyhľadávanie detail JOIN master by v tomto prípade nešlo.
 Výsledok má byť zoznam mastrov (filtrovaný na ďalšie podmienky) s tým, že
 sú zadané podmienky aj na posledný detail.

 Principiálne hľadám, či je možné v Hibernate spraviť SELECT * FROM(
 SELECT...)


 Rastislav Bedo Siekel


 --
 Ing. Rastislav Siekel
 Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia
 E-mail : sie...@prosoft.sk sie...@prosoft.sk
 Tel : 041/562 54 91
 Fax : 041/562 54 97
 Mobil : 0905 34 00 20



  On 27. 6. 2013 15:11, ŠVARC Jiří wrote:

  Nevím jestli jsem dobře porozuměl, ale nešlo by to realizovat vyhledáním
 v seznamu detailů s kritériem odkazu na mastera,  nastavením řazení a
  query.setMaxResults(1)?

 ** **

 *ing. Jiří Švarc**
 *Programmer Analyst

  

 *Asseco Central Europe, a.s.**
 *Solutions for Demanding Business

 Budějovická 778/3a, 140 00 Praha 4
 Czech Republic
 Mobile: +420 737 944 536
 jiri.sv...@asseco-ce.com
 www.asseco-ce.com

 ** **

 *From:* konference-boun...@java.cz 
 [mailto:konference-boun...@java.czkonference-boun...@java.cz]
 *On Behalf Of *Rastislav Siekel
 *Sent:* Thursday, June 27, 2013 2:57 PM
 *To:* Java
 *Subject:* Hibernate SELECT bez FROM tabuľky

 ** **

 Zdravím vospolok,

 chcel by som sa spýtať, či niekto neriešil nasledujúci problém:

 V Oracle mám tabuľky master a detail. Mám master a chcem k nemu nájsť 
 *posledný
 *detail, čo spravím v SQL takto:

 ... AND detail_id =
 (
 SELECT * FROM
 (
 SELECT detail_id
 FROM detail
 ORDER BY detail_time DESC
 )
 WHERE rownum = 1
 )
 ...


 Tu som narazil na problém, že Hibernate pomocou Criteria API asi nevie
 spraviť SELECT FROM (...) WHERE 
 Aj DetachedCriteria, aj Criteria si vyžadujú Entitu (DTO), nad ktorou
 pripravia SQL príkaz. Je nejaká možnosť ako toto obísť?

 Vďaka,
 Rastislav Bedo Siekel

 ** **
  --

 Ing. Rastislav Siekel
 Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia
 E-mail : sie...@prosoft.sk sie...@prosoft.sk
 Tel : 041/562 54 91
 Fax : 041/562 54 97
 Mobil : 0905 34 00 20