Hirdetés
- A Mátrix Androidot futtat, a Samsung kezében a csatlakozó
- Az AVX és AVX2 emulálásával kedvez az ARM-os gépeknek a Windows 11 frissítése
- Nagyon nem szokványos módon ment tönkre egy ASML gép Kínában…
- Fájlformátumok a gyakorlatban: ProRes, H.265, AV1
- "3D-s" hővezető csövekkel jön a Cooler Master legfrissebb CPU-hűtője
- GeForce RTX 5060: Ezt kapjuk 150 ezerért
- Kompakt vízhűtés
- Milyen RAM-ot vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Samsung Galaxy Tab S11 - tizenegyes
- Soundbar, soundplate, hangprojektor
- Nagyon nem szokványos módon ment tönkre egy ASML gép Kínában…
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- AMD vs. INTEL vs. NVIDIA
- iPad topik
Ú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?:))
- Latitude 7450 14" QHD+ IPS érintő Ultra 7 165U 32GB 512GB NVMe ujjolv IR kam gar
- AKCIÓ! ÚJ! GAMER PC - RTX 5060 8GB - i5 12400F/14400F - 16GB DDR4 - 500GB Nvme SSD
- Lenovo Legion 9 16" 3.2K Mini LED Laptop! i9-13980HX / RTX 4090 / 32GB DDR5 / 2TB NVMe! BeszámítOK
- TUF Gaming F15 FX506HC 15.6" FHD IPS i5-11400H RTX 3050 16GB 512GB NVMe magyar vbill gar
- BONTATLAN Új iPhone 17 PRO MAX Silver - Ezüst 256-512GGB Független 1év Apple G Azonnal átvehető.Deák
- Xbox Series kontrollerek 1 hó garancia, számlával!
- LG 77CS6 - 77" OLED - 4K 120Hz & 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - Szupervékony
- iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3086, 94% Akkumulátor
- Bomba ár! Lenovo ThinkPad L520 - i3-2GEN I 4GB I 160GB I DVDRW I 15,6" HD I Cam I W10 I Garancia!
- Bomba ár! HP ProBook 430 G5 - i3-7GEN I 4GB I 128GB SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest