- Bemutatkozott a Poco X7 és X7 Pro
- Yettel topik
- Honor Magic V3 - mágikus realizmus
- Csonkítás áldozata lett a nemzetközi Redmi Note 15 Pro+
- Ez lehet az Apple hajlítható telefonjának formája, mérete
- OnePlus 8T – fazonigazítás
- Megtartotta Európában a 7500 mAh-t az Oppo
- Xiaomi 15 - kicsi telefon nagy energiával
- Poco F7 – bajnokesélyes
- Honor Magic6 Pro - kör közepén számok
Ú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?:))
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- És akkor a memóriapánik után beköszöntött a HDD-pánik
- Bemutatkozott a Poco X7 és X7 Pro
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Arc Raiders
- Battlefield 6
- sziku69: Szólánc.
- Milyen légkondit a lakásba?
- Villanyszerelés
- Egyéni arckép 2. lépés: ARCKÉPSZERKESZTŐ
- További aktív témák...
- Asus ROG Zephyrus G16 Intel Core Ultra 9 185H/RTX 4060/16GB DDR5/1TB SSD eladó NÁLAM A LEGOLCSÓBBAN!
- MacBook Pro M1 13 inch 8/512GB magyar bill nálam a legolcsóbban
- Fujitsu 27" B27-8 TE Full HD 1920x1080 hófehér monitor állítható magasság, PIVOT, HDMI számla + gar
- AMD Ryzen 5 Félkonfig eladó!
- Asus Z13 Flow Acronym Limited Edition
- Vivo V50 12/512GB,Újszerű,Adatkabel,12 hónap garanciával
- Dell 14 Latitude 7450 WUXGA 2in1 Touch X360 Ultra5 135U 12mag 16GB 512GB Win11 Pro WiFi7 Garancia
- 185 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080
- REFURBISHED - DELL Performance Dock WD19DCS (210-AZBN)
- iKing - Apple iPhone 15 Pro Natural Titanium ProMotion 120 Hz, A17 Pro, USB-C 128 GB
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


