No prave ze na kraj 1 mam navazane pouze dva okresy. A obdobne jsem to
taky spatlal, ze jsem odebral duplicitni kraj, jenze to mi pripadne
docela na hlavu.
Jinak to vybiram loadAll(Kraj.class), takze HQL nepouzivam.
Okresy jsem drive z kraju dostaval pres vlastnost List<IOkres>, ale
tedka jsem to prekopl na Set<IOkres> ale jeste jsem nekontroloval jestli
mi nepok*vi poradi.
Lukas "benzin" Benda ([EMAIL PROTECTED]; http://benzin.bloguje.cz)
Java a Delphi programator
PHP a JavaScript skrypter
Tvurce databazovych aplikaci
A "cestinarsky" ignorant
Benda Lukas napsal(a):
Mam strukturu
Kraj (1 <-> *) Okres (1 <-> *) Organizace (n <-> m) Clen organizace
(1 <-> *) Dalsi ruzne detaily clena
Aktualne mam vlozene dva Kraj, v prvnim mam dva okresy, v druhem mam
jeden okres. V kazdem okresu mam jednu organizaci (jenom v prvnim
okresu prvniho kraje mam dve organizace). V organizacich prvniho
okresuprvniho kraje mam pokazde jednoho clena.
Vazby 1 <-> * jsou realizovane pres FK v detail tabulce. Vazba n <->
m je tvorena samostatnou spojovaci tabulkou.
Ke zprave databaze pouzivam Hibernate a k sprave sessionu a trasakci
vyuzivam nad nim Spring.
Problemy jsou dva:
1) Pri nacteni seznamu kraju mi vrati hibernate 4 kraje, misto dvou.
A to v nasledovnem slozeni nejdrive trikrat se nacte Kraj 1 a
nasledne jednou kraj 2. (HashCode i Equals mam pretizeno, vsechny
objekty Kraj 1 jsou jeden a tentyz, jenom je v tom vracenem Listu
nekolikrat)
Nemate nahodou na ten Kraj 1 navazane 3 Okresy? Jaky dotaz pouzivate
pro nacitani Kraju? Setkal jsem se s timto chovanim v pripade ze jsem
v HQL pouzil konstrukci
ktera kraje a prislusne navazane okresy nacita jednim joinovanym SQL
selectem (uz si presne nepamatuji jaka je to konstrukce). Hlasil jsem
to do BTS Hibernate
jako chybu ale pry je to feature. Resenim je si ten vysledny List
presypat do LinkedHashSet ktera vyhodi duplicity ale pro iterator
zachova poradi.
2) Da se do spojovaci tabulky pridat nektere dalsi informace?
Napriklad datum zacatkuclenstvi, registracni cislo atp?
Lukas "benzin" Benda ([EMAIL PROTECTED]; http://benzin.bloguje.cz)
Java a Delphi programator
PHP a JavaScript skrypter
Tvurce databazovych aplikaci
A "cestinarsky" ignorant