hibernate version: 3.1
folgendes problem:
ich lade einen objektbaum. das statement, was rauskommt, ist
Code:
select
artikelbea0_.uid as uid0_0_,
hersteller1_.uid as uid2_1_,
kategorieb2_.uid as uid3_2_,
subkategor3_.uid as uid3_3_,
artikelbea5_.uid as uid0_4_,
hersteller6_.uid as uid2_5_,
kategorieb7_.uid as uid3_6_,
bewertungb8_.uid as uid10_7_,
artikelbea0_.Name as Name0_0_,
artikelbea0_.Gewicht as Gewicht0_0_,
artikelbea0_.Preis as Preis0_0_,
artikelbea0_.Infotext as Infotext0_0_,
artikelbea0_.Barcode as Barcode0_0_,
artikelbea0_.bild as bild0_0_,
artikelbea0_.Zuckerfrei as Zuckerfrei0_0_,
artikelbea0_.Glutenfrei as Glutenfrei0_0_,
artikelbea0_.Hefefrei as Hefefrei0_0_,
artikelbea0_.Weizenfrei as Weizenfrei0_0_,
artikelbea0_.Nussfrei as Nussfrei0_0_,
artikelbea0_.Aufnahme as Aufnahme0_0_,
artikelbea0_.Zutaten as Zutaten0_0_,
artikelbea0_.Bio as Bio0_0_,
artikelbea0_.Angebot as Angebot0_0_,
artikelbea0_.LieferantNr as Liefera17_0_0_,
artikelbea0_.Kakaofrei as Kakaofrei0_0_,
artikelbea0_.Werknummer as Werknummer0_0_,
artikelbea0_.vorrat as vorrat0_0_,
artikelbea0_.aktionspreis as aktions21_0_0_,
artikelbea0_.keinRabatt as keinRabatt0_0_,
artikelbea0_.LetzteBearbeitung as LetzteB23_0_0_,
artikelbea0_.AktuellerEK as Aktuell24_0_0_,
artikelbea0_.gewichtAsLiter as gewicht25_0_0_,
artikelbea0_.kategorie as kategorie0_0_,
artikelbea0_.hersteller as hersteller0_0_,
artikelbea0_.rating as rating0_0_,
hersteller1_.Name as Name2_1_,
hersteller1_.Webseite as Webseite2_1_,
hersteller1_.Info as Info2_1_,
kategorieb2_.Name as Name3_2_,
kategorieb2_.Mwst as Mwst3_2_,
kategorieb2_.Versandwaren as Versandw4_3_2_,
kategorieb2_.Unsichtbar as Unsichtbar3_2_,
kategorieb2_.Ausgelistet as Ausgelis6_3_2_,
kategorieb2_.Root as Root3_2_,
kategorieb2_.description as descript8_3_2_,
subkategor3_.Name as Name3_3_,
subkategor3_.Mwst as Mwst3_3_,
subkategor3_.Versandwaren as Versandw4_3_3_,
subkategor3_.Unsichtbar as Unsichtbar3_3_,
subkategor3_.Ausgelistet as Ausgelis6_3_3_,
subkategor3_.Root as Root3_3_,
subkategor3_.description as descript8_3_3_,
subkategor3_.Oberkategorie as Oberkate9_0__,
subkategor3_.uid as uid0__,
artikelbea5_.Name as Name0_4_,
artikelbea5_.Gewicht as Gewicht0_4_,
artikelbea5_.Preis as Preis0_4_,
artikelbea5_.Infotext as Infotext0_4_,
artikelbea5_.Barcode as Barcode0_4_,
artikelbea5_.bild as bild0_4_,
artikelbea5_.Zuckerfrei as Zuckerfrei0_4_,
artikelbea5_.Glutenfrei as Glutenfrei0_4_,
artikelbea5_.Hefefrei as Hefefrei0_4_,
artikelbea5_.Weizenfrei as Weizenfrei0_4_,
artikelbea5_.Nussfrei as Nussfrei0_4_,
artikelbea5_.Aufnahme as Aufnahme0_4_,
artikelbea5_.Zutaten as Zutaten0_4_,
artikelbea5_.Bio as Bio0_4_,
artikelbea5_.Angebot as Angebot0_4_,
artikelbea5_.LieferantNr as Liefera17_0_4_,
artikelbea5_.Kakaofrei as Kakaofrei0_4_,
artikelbea5_.Werknummer as Werknummer0_4_,
artikelbea5_.vorrat as vorrat0_4_,
artikelbea5_.aktionspreis as aktions21_0_4_,
artikelbea5_.keinRabatt as keinRabatt0_4_,
artikelbea5_.LetzteBearbeitung as LetzteB23_0_4_,
artikelbea5_.AktuellerEK as Aktuell24_0_4_,
artikelbea5_.gewichtAsLiter as gewicht25_0_4_,
artikelbea5_.kategorie as kategorie0_4_,
artikelbea5_.hersteller as hersteller0_4_,
artikelbea5_.rating as rating0_4_,
empfehlung4_.quellartikel as quellart1_1__,
empfehlung4_.zielartikel as zielarti2_1__,
hersteller6_.Name as Name2_5_,
hersteller6_.Webseite as Webseite2_5_,
hersteller6_.Info as Info2_5_,
kategorieb7_.Name as Name3_6_,
kategorieb7_.Mwst as Mwst3_6_,
kategorieb7_.Versandwaren as Versandw4_3_6_,
kategorieb7_.Unsichtbar as Unsichtbar3_6_,
kategorieb7_.Ausgelistet as Ausgelis6_3_6_,
kategorieb7_.Root as Root3_6_,
kategorieb7_.description as descript8_3_6_,
bewertungb8_.beliebtheit as beliebth2_10_7_,
bewertungb8_.bewertungen as bewertun3_10_7_,
bewertungb8_.artikel as artikel10_7_
from
Artikel artikelbea0_
left outer join
Hersteller hersteller1_
on artikelbea0_.hersteller=hersteller1_.uid
left outer join
Kategorie kategorieb2_
on artikelbea0_.kategorie=kategorieb2_.uid
left outer join
Kategorie subkategor3_
on kategorieb2_.uid=subkategor3_.Oberkategorie
left outer join
ArtikelEmpfehlung empfehlung4_
on artikelbea0_.uid=empfehlung4_.quellartikel
left outer join
Artikel artikelbea5_
on empfehlung4_.zielartikel=artikelbea5_.uid
left outer join
Hersteller hersteller6_
on artikelbea5_.hersteller=hersteller6_.uid
left outer join
Kategorie kategorieb7_
on artikelbea5_.kategorie=kategorieb7_.uid
left outer join
Bewertungen bewertungb8_
on artikelbea0_.rating=bewertungb8_.uid
nach ausführung des statements, welches imho alle daten liefert, kommen noch eine reihe
Code:
select
hersteller0_.uid as uid2_0_,
hersteller0_.Name as Name2_0_,
hersteller0_.Webseite as Webseite2_0_,
hersteller0_.Info as Info2_0_
from
Hersteller hersteller0_
where
hersteller0_.uid=?
und
Code:
select
kategorieb0_.uid as uid3_0_,
kategorieb0_.Name as Name3_0_,
kategorieb0_.Mwst as Mwst3_0_,
kategorieb0_.Versandwaren as Versandw4_3_0_,
kategorieb0_.Unsichtbar as Unsichtbar3_0_,
kategorieb0_.Ausgelistet as Ausgelis6_3_0_,
kategorieb0_.Root as Root3_0_,
kategorieb0_.description as descript8_3_0_
from
Kategorie kategorieb0_
where
kategorieb0_.uid=?
wie kann das sein? alle hersteller und kategorien hab ich doch mit dem anfangsstatement schon reingejoined. lasse ich dieselbe query noch einmal unmittelbar dannach laufen, führt er auch nur das erste (imho einzig nötige) statement aus.
könnte es sein, dass hibernate ein problem mit zirkulären verbindungen hat? es gibt nämlich welche: artikel -> hersteller -> artikel. dasselbe mit empfehlungen und kategorien.