Hirdetés
- TCL LCD és LED TV-k
- Epson nyomtatók
- Milyen széket vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen egeret válasszak?
- A legrosszabb CPU-k – az ExtremeTech szerint
- Otthoni IPTV megvalósítási lehetőségek?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Vezetékes FEJhallgatók
- NVIDIA GeForce RTX 5060 Ti (GB206)
Ú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?:))
- Kingdom Come: Deliverance I-II.
- Napelem
- Alaposan helyretette az AI ellenzőit az NVIDIA vezetője
- Autós topik
- iPhone topik
- Wi-Fi helyett koax? Igen - így működik a MoCA
- Google Chrome
- Fotók, videók mobillal
- Yettel topik
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- További aktív témák...
- iPhone 13 Pro Max (független,256GB, Sierra Blue)
- Lenovo LOQ 15IRX9 GAMER Laptop Intel Core i5-13450HX/16GB/512gb/RTX4050 6GB Win11 Pro
- Csere-Beszámítás! Xbox Series S 512GB! Számla + Garancia.
- ACER Nitro V 15 AMD Ryzen 5 7535HS/16GB/512GB/NVIDIA GeForce RTX 4050 6GB GDDR6
- Prrofi szimulátor setup eladó!
- Minden szoftver mellé teljesen audit és NIS2 biztos, jogilag hiteles licencigazolást adunk át!
- Telefon felváráslás!! Xiaomi 13T, Xiaomi 13T Pro, Xiaomi 14T, Xiaomi 14T Pro
- Apple iPhone 13 Pro Max /128GB / Kártyafüggetlen / 12Hó Garancia / Akku:83%
- AKCIÓ! Apple iPhone 12 Mini 64GB mobiltelefon garanciával hibátlan működéssel
- Azonnali készpénzes INTEL CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest


