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
>
- Re: Hibernate + order by object.field Petr Gola
- Re: Hibernate + order by object.field Ondřej Fafejta KYBERIE
- Re: Hibernate + order by object.field Petr Gola
- Re: Hibernate + order by object.field Ladislav Nagy
- Re: Hibernate + order by object.field Petr Gola
- Re: Hibernate + order by object.f... Ladislav Nagy
- Re: Hibernate + order by object.field Tomas Vojtech
