2Stanislav Osmera:
Ano, mate pravdu, Hibernate prevede ten HQL prikaz zhruba na toto:

select
 
osoba1.id as OSOBA_ID,
  osoba1.pes_id as PES_ID
from
  tabulka_osoba osoba1,

  tabulka_pes pes1
where
 
osoba1.PES_ID = pes1.id

order by pes1.nazev

Pouzivam PostgreSQL, ktera mi v pripade ze je pes1 null (v tabulce Osob je null hodnota ve sloupci PES_ID), tento radek vubec nevrati.

2Konference:

Potreboval bych bud dokopat Hibernate k tomu aby to ten prikaz prevedlo na:

select
  osoba1.id as OSOBA_ID,
  osoba1.pes_id as PES_ID,
  pes1.jmeno AS PES_JMENO
from
  tabulka_osoba osoba1,
  tabulka_pes pes1
where
  osoba1.PES_ID = pes1.id

union

select
  osoba1.id as OSOBA_ID,
  osoba1.pes_id as PES_ID,
  null as PES_JMENO
from
  tabulka_osoba osoba1,
where osoba1.PES_ID IS NULL

order by PES_JMENO

nebo nepouzivat HQL a volat primo SQL  PostgreSQL mi automaticky seradi radky s null hodnotami na konec vyberu. Nepouzivam Hibernate dlouho a jeste jsem neresil otazku vykonu... ale pokud vyuziji primo SQL, neprijdu treba o zajimave moznosti optimalizace, "kesovani"...? Nejak se mi nechce mixovat HQL a SQL prikazy v DAO.

S pozdravem, Petr Gola

PS: Vazne nepracuji na databazi osob a jejich psu ;-)

On 05/09/06, Stanislav Ošmera <[EMAIL PROTECTED]> wrote:
> > Jak resite trideni v HQL pomoci fieldu objektu, kdyz objekt podle dle
> > ktereho je trideno muze byt i null?
>
> Nedelam do hibernate, ale tohle je podle me ciste zalezitost databaze.
> HQL se pretransformuje do nejakyho selectu kde je proste obycejna
> order by klauzule. No a pak zalezi na tom jak ta ktera databaze
> naklada s hodnotama null. To je bohuzel ruzny v kazde databazi.
> Co vim tak DB2 a Oracle radi null vyse nez ostatni hodnoty, kdezto
> microsoft nebo mysql radi pod.
> Jinak oracle od verze 9 ma jeste moznost to specifikovat v dotazu
> select * from table order by job_level asc nulls first
>
> tohleto "nulls first|last"  je mam pocit soucasti nejake specifikace
> standardu SQL, ale nevim ktere. Sql92 to urcite nebude, takze asi to
> bude v sql99 takze by to mohl podporovat i nekdo jinej nez oracle.
>
> No moc jsem ti nepomohl, ale aspon vis jak to je a treba najdes v
> nastaveni hibernate neco co ridi generovani sql pro specificky
> databaze a vyuzijes to.
>
> --
> Stanislav Ošmera
> Work: +44 (0)2075 980 348
> Cell: +44 (0)7914 635 412
> private email: [EMAIL PROTECTED]
> work email: [EMAIL PROTECTED]
> Skype: sosmera   ICQ:149634231
>

Odpovedet emailem