@@ -184,6 +184,7 @@ private void fullUpdate(final Context ctx) throws IOException {
184184 DaoTransaction <E > transaction = dao .getTransactionManager ().beginTransaction (ctx );
185185 P jpa = hu .getJpaById (ctx , transaction .getManager (), dao );
186186 try {
187+ P detachedJpa = orikaMapper .map (jpa , jpaType );
187188 J json = jsonMapper .fromStringTo (jsonType , ctx .attribute (Attribute .REQUEST_BODY ));
188189 P mappedJpa = orikaMapper .map (json , jpaType );
189190 mappedJpa .setId (jpa .getId ());
@@ -192,11 +193,12 @@ private void fullUpdate(final Context ctx) throws IOException {
192193
193194 mappedJpa = extensions .runPreModify (ctx , makeAsyncExtensionContextFor (ctx ), transaction .getManager (),
194195 jpa .getId (), json , jpa , mappedJpa , executorService );
196+
195197 P persistedJpa = dao .update (transaction .getManager (), mappedJpa , hu .getReadTenantIdsFrom (ctx ));
196198
197199 J r = orikaMapper .map (persistedJpa , jsonType );
198200 r = extensions .runPostModify (ctx , makeAsyncExtensionContextFor (ctx ), transaction .getManager (), jpa .getId (),
199- json , jpa , mappedJpa , persistedJpa , r , executorService );
201+ json , detachedJpa , mappedJpa , persistedJpa , r , executorService );
200202
201203 ctx .attribute (Attribute .RESPONSE_OBJECT , r );
202204
0 commit comments