One possible fix is to change the generated bytecode to only check for equality if the tracker is not 'suspended': if ( ( $$_hibernate_tracker == null || !$$_hibernate_tracker.isSuspended() ) && !EqualsHelper.areEqual( this.attribute, var1) ) { This requires adding a isSuspended() method to implementations of the tracker. |