Hirdetés
- Beárazták a Nubia Z80 Ultra európai verzióját
- Szívós, szép és kitartó az új OnePlus óra
- iPhone topik
- 1 VII Japán
- Kis méret, nagy változás a Motorolánál
- Mobil flották
- Xiaomi 15 - kicsi telefon nagy energiával
- Nem lesz olcsó a Realme GT 8 Pro Európában
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Hét évig frissül az új iQOO
Új hozzászólás Aktív témák
-
#39560925
törölt tag
Ha egy service layer-beli osztályban van egy @Transactional metódus, ami meghívja egy DAO osztály metódusát, amely osztályban be van injektálva egy EntityManager @PersistenceContext-tel, akkor ennek az EntityManagernek a perzisztenciakontextusa megmarad a hívó service layer-beli metódusban is?
Most kísérleti jelleggel azt csinálom, hogy a RestController osztály metódusát jelöltem @Transactional-nek és az közvetlen hívja a DAO osztály metódusát, ami egy MovieEntityvel tér vissza, de amikor a RestController metódusa átadja a Jackson JSON parsernek a MovieEntityt, akkor mintha már nem lenne meg a perzisztenciakontextus, mert a hibernate proxy objektum megszűnt, és nem éri el a kapcsolódó entitásokat:
com.fasterxml.jackson.databind.JsonMappingException: failed to lazily initialize a collection of role: com.movietime.model.ActorsEntity.movies, could not initialize proxy - no Session
Próbálkoztam azzal, hogy EAGER fetchinget állítok be minden Entitás osztályban, és akkor nem lenne ilyen probléma, de akkor a túl sok bi-directional many-to-many asszociáció miatt megbolondul a hibernate és a Query.getSingleResult() már vissza se tér.
Kerestem olyan megoldást is, hogy lehessen korlátozni az EAGER fetching mélységét, de csak olyat találtam, hogy a LAZY-t lehet optimalizálni @BatchSize-zal. Viszont ez nekem nem jó, mert a JSON parserig már nem jut el a hibernate sessionje, vagy persistence contextje, nem tudom hogy hívjam.
Csinálhatnám azt is, hogy a DAO rétegben olyan lekérdezéseket írok kézzel, hogy lekérem a filmet, aztán lekérem a hozzá kapcsolódó színészeket, producereket, mindenkit, és összetákolom a kapcsolatokat, de ez egyrészt nagyon lábbal hajtós, másrészt az adatbáziskapcsolattal nagyon pazarló lenne. Jobb lenne, ha ezt a hibernate elintézné.
Az is jó lenne, ha a @Transactional úgy működne, ahogy a hsz elején a kérdésben feltettem, de nekem úgy tűnik, mintha nem így történne. Lehet azért, mert nem JTA típusú tranzakcióim vannak, hanem JPA?
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Azonnali fáradt gőzös kérdések órája
- PlayStation 5
- Konteó topic
- Beárazták a Nubia Z80 Ultra európai verzióját
- Sorozatok
- VR topik (Oculus Rift, stb.)
- Assetto Corsa Rally
- Otthoni hálózat és internet megosztás
- Fejhallgató erősítő és DAC topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- További aktív témák...
- Fractal Design Torrent hazai kisker garanciával
- Új, Felbontott Bambulab P1S / P1S Combo! ÁFÁ-s! 1 Év garancia!
- VADIÚJ Bontatlan! Honor 400 Lite 8/256 AMOLED 120Hz Velvet Grey, Dual SIM 2év gar
- HP ProBook 650 G8 Intel i5-1145G7 15GB 512GB magyarbill 1 év garancia
- HP ProBook 650 G8 Intel i5-1145G7 32GB 512GB magyarbill 1 év garancia
- AKCIÓ! Lenovo Legion Slim 5 Gamer notebook - R7 7435HS 16GB RAM 1TB SSD RTX 4070 8GB GDDR6 WIN11
- GYÖNYÖRŰ iPhone 12 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3881, 100% Akkumulátor
- MSI CreatorPro Z16P RTX A5500 TOUCH! (vapor chamberrel)
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5600X / RX 7600 / 32GB DDR4 / 1TB M.2 SSD
- Jura Impressa C5 Automata kávégép 6 hónap Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


