(Quick Reference)

getPersistentValue

Purpose

Retrieve the original value of a field for a domain class instance.

Examples

def b = Book.get(1)
someMethodThatMightModifyTheInstance(b)

if (b.isDirty('name')) { def currentName = b.name def originalName = b.getPersistentValue('name') if (currentName != originalName) { … } }

Description

This method is useful mostly for audit logging or other work done in a beforeUpdate event callback. Hibernate caches the original state of all loaded instances for dirty checking during a flush and this method exposes that data so you can compare it with the current state.