Zdravím,
pokud máte dotaz, kde je podle order by více řádků se stejnou hodnotou klíče, 
pak nikdy nemáte jitotu, v jakém pořadí to DB vrátí. To, že to je často stejně 
je spíš o tom, jak je zrovna paměť DB naplněna a indexy uspořádány. Nebo-li 
těch 100 řádků s hodnotou 0 v klíči je vráceno v pořadí, v jakém se to DB 
zrovna hodí a těch zbývajících 100 řádků zrovna tak. Chcete-li se spolehnout na 
pořadí záznamů, musíte dodat jednoznačný třídící klíč.

s pozdravem

Vladimír Náprstek
E-mail         : [EMAIL PROTECTED]




-----Původní zpráva-----
Od: [EMAIL PROTECTED] za uživatele Ivan Polák
Odesláno: pá 5.12.2008 18:09
Komu: Java
Předmět: hibernate a vysledok selectu z DB
 
Zdravim konferenciu,

mam taky velmi zvlastny problem. v aplikacii pouzivam hibernate 3.1.2 
(zatial nemozem dat vyssiiu verziu) a DB je Oracle.

vytvaram select do DB pomocou Criteria, a mam order by podla jedneho 
stlpca. vysledok je cca 200 zaznamov, kde 100 zaznamov ma hodnotu 0 a 
100 zaznamov ma hodnotu 1 toho stlpca podla coho je order by.

ked si dam zobrazovat sql selecty ktore vytvara hibernate a zobrazim si 
criteria, podla tychto dvoch informacii vytvorim SQL dotaz.

tento SQL spustim v SQL developery nedostavam uplne rovnake vysledky ako 
aplikacia, su v inom poradi.

takze prvych 100 zaznamov ktore maju dany stlpec podla coho je order by 
na hodnote 0, su inak usporiadane ako v aplikacii. a rovnako aj tie co 
maju 1.

ma hibernate nejake sub-order by kriterium podla coho ak je pre niekolko 
zaznamov order by kriterium rovnake, triedi v ramci daneho kriteria ? 
alebo preco nemam presne rovnake vysledky ? je toto mozne, ale mam ja 
niekde chybu :-)

priklad:

aplikacia:

meno                  stlpec podla coho je order by
--------------------------------
zaznam1            0
zaznam2            0
zaznam3            0
zaznam4            0
zaznam5            0
zaznam6            0
....
zaznam7            1
zaznam8            1
zaznam9            1


SQL developer:

meno                  stlpec podla coho je order by
--------------------------------
zaznam1            0
zaznam2            0
zaznam4            0
zaznam3            0
zaznam5            0
zaznam6            0
....
zaznam8            1
zaznam7            1
zaznam9            1



velmi pekne dakujem za pomoc!

Ivan

<<winmail.dat>>

Odpovedet emailem