Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Szmeby

    tag

    válasz Oppenheimer #7186 üzenetére

    Kicsit későn lövöm el a hsz-t, feltartottak. Talán ad ötletet.
    --------
    Szerintem fixen belőtt annotációkkal nem fog menni, mivel nem egyértelmű, hogy melyik fetch módot kell alkalmazni.
    Alap, hogy minden lazy. Mivel csak a REST hívás beérkezésekor tudod eldönteni, hogy adott esetben melyik kapcsolatot kell eager fetchelni, nincs mese, runtime ott helyben kell megmondanod neki.

    Erre sokféle módszer létezik, hogy melyik szép, azt nem tudom.

    1. Ha a user a filmre kíváncsi, előkeresed a filmet, majd ráhívsz a getActors() metódusra (ez úgy tudom meglöki a proxy-t és ha sessionben vagy, akkor feltölti az actorokkal is).

    2. Talán named query használatával (movie és actor joinnal) ez a bohóckodás egyszerűbbé tehető.

    3. Rémlik valami olyasmi, hogy JPA/Hibernate alatt runtime felülbírálható a fetch mód. De itt is áll, hogy minden lazy és szükség esetén adott hívásnál döntöd el, hogy mit nyomatsz eagerrel. Mintha valamiféle fetch profilt kellene ehhez létrehozni (ezzel jól megannotálva az entitást), és az entitás lekérésekor elég csak a profilra hivatkozni.

    4. ...

    Sajnos nagyon régen Hibernate-eztem, nem biztos, hogy ezek a legjobb megoldások, vagy hogy egyáltalán működnek.
    A hibernate doksit nézted már?

Új hozzászólás Aktív témák