Amikor az entitást leválasztják?
Pontszám: 4,5/5 ( 22 szavazat )A leválasztott entitás olyan entitás, amelynek állapotát a JPA-szolgáltató nem tükrözheti . Más szóval, ha megváltoztatja az állapotát (azaz setters metódusokon keresztül), akkor ezek a változások nem kerülnek mentésre az alapul szolgáló adatbázisba, mivel a JPA szolgáltatónak nem kell "megfigyelnie" az ilyen entitásokat.
Mit jelent a leválasztott entitás?
A leválasztott entitás (más néven leválasztott objektum) olyan objektum, amelynek ugyanaz az azonosítója, mint a perzisztenciatárolóban lévő entitásnak, de amely már nem része egy megmaradási kontextusnak (az EntityManager munkamenet hatókörének). ... Az EntityManager, amelyből az objektumot letöltötte, bezárva.
Hogyan válik le egy entitás?
A leválasztott entitás csak egy közönséges POJO entitás, amelynek identitásértéke egy adatbázis sornak felel meg. A különbség a felügyelt entitástól az, hogy azt már nem követi nyomon semmilyen perzisztencia-kontextus. Egy entitás akkor válhat le , amikor a betöltéséhez használt munkamenet bezárult , vagy amikor a munkamenetet hívjuk.
Mi az a leválasztott entitás hibernált állapotban?
A Hibernate a következő objektumállapotokat határozza meg és támogatja: ... Leválasztott - a leválasztott példány egy olyan objektum, amely állandó volt, de a munkamenete le van zárva . Az objektumra való hivatkozás természetesen továbbra is érvényes, és a leválasztott példány akár módosulhat is ebben az állapotban.
Honnan tudhatom, hogy az entitásomat kezelik-e?
Az EntityManager#contains(Object entity) segítségével ellenőrizheti, hogy az adott entitást az aktuális PersistenceContext kezeli-e.