- DUNE médialejátszók topicja
- Milyen Android TV boxot vegyek?
- Vezeték nélküli fülhallgatók
- Kormányok / autós szimulátorok topikja
- Házimozi belépő szinten
- Milyen TV-t vegyek?
- Philips LCD és LED TV-k
- Törölte az idei asztali csúcsprocesszorát az Intel
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Otthoni IPTV megvalósítási lehetőségek?
Ú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?:))
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Óraátállítás
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Vicces videók
- DUNE médialejátszók topicja
- Milyen Android TV boxot vegyek?
- Megérkezett a Samsung Galaxy A37 és Galaxy A57
- EA Sports WRC '23
- Xiaomi 15T Pro - a téma nincs lezárva
- Motorola Edge 50 Neo - az egyensúly gyengesége
- További aktív témák...
- BESZÁMÍTÁS! Lenovo LOQ 15AHP10 FHD GAMER notebook - Ultra7 155U 32GB DDR5 1TB SSD Intel Graphics W11
- Dell Precision 7810 TOWER,E5-2670 v3 (12/24) 8GB DDR4,256GB SSD,QUADRO K2200 4GB VGA,WIN11
- Dell Inspiron 5402 - 14" FHD / i5-1135G7 / 24 GB RAM / 512 GB SSD/ Szürke
- BESZÁMÍTÁS! Lenovo Yoga Book 9 13IMU9 notebook - Ultra7 155U 32GB DDR5 1TB SSD Intel Graphics W11
- Beszámítás! Motorola Nothing Phone (3) 5G 512GB okostelefon garanciával hibátlan működéssel
- AKCIÓ! 4TB Western Digital Red Pro SATA HDD meghajtó garanciával hibátlan működéssel
- Beszámítás! Asus TUF VG249Q 24 144Hz FHD IPS 1ms monitor garanciával hibátlan működéssel
- HIBÁTLAN iPhone 11 Pro Max 64GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS4584
- HP ProDesk 400, 600 G2,G3 Mini és 600 G2 MT , félkonfig, bővítési opció, mini PC/NAS/HTPC alap
- GYÖNYÖRŰ iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3293
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

