ManyToOne probléma NHibernate -ben

Belefutottunk egy érdekes hibába. Van egy táblánk (legyen ez a hallgató), amihez tartoznak kiegészítő értékek egy másik táblában (pl. tantárgyak).

A mapping -nél beállítottam a many-to-one kapcsolatot a hallgatónál, de ha a tantárgyak táblában nem volt adat, akkor elhasalt proxy hibával.

<many-to-one name='Tantargy' class='Tantargyak' 
   column='`TantargyId`' fetch='join'/>

Komoly fejtörést okozott, mert ilyen eset lehetséges akkor, amikor egy hallgatót felvesznek az egyetemre a GÓLYA rendszeren keresztül, és még nem vett fel tárgyakat.

Végül sikerült rájönnöm, hogy hogyan lehet ezt a hibát kikerülni, a megoldás:  not-found=’ignore’

Az előbbi példából kiindulva:

<many-to-one name='Tantargy' class='Tantargyak' 
  column='`TantargyId`' fetch='join' not-found='ignore'/>

Ha a not-found tag -et, aminek az alapértelmezett beállítása exception átállítjuk ignore -ra, akkor ha a left outer join -t követően nem talál értéket, a Tantargy property -be null -al tér vissza.

Related Posts

2 hozzászólás

    Nem tudok úgy keresni erre a hülye many-to-one-ra hogy ne jöjjön fel ez a bejegyzésed 🙂 VALAKI SEGÍTSEN A JOINBAN!!!! PLS! 🙂 😆

    • kga

      hahahaha!!! 😀

Comments are closed.