To get the object in the Session cache (current committed state, not necessarily original state), use,

session.readObject(object)

or if a UnitOfWork,

unitOfWork.getParent().readObject(object)

To get the changes for an object use,

unitOfWork.getCurrentChanges().getObjectChangeSetForClone(ob ject)

if you use deferred change tracking the UnitOfWork also stores a backup clone, which is the original state. If you use attribute change tracking (default with weaving), then there is no original state stored, only a set of changes.