Un objeto separado puede volver a hacerse persistente con lock() indicando un método de bloqueo.
Se puede hacer persistente un objeto separado mediante update() y saveOrUpdate().
También se puede hacer con merge(), que no hace persistente el objeto que se le pasa, sino que actualiza los contenidos de otro objeto persistente con el mismo identificador (update) en la sesión si existe, o crea uno nuevo si no existe (save).