You could try a validator and the validate before save routine of the validator (which you should override, see the field / entity validation section in the manual). This validation logic is then called when the entity is saved (before it's saved actually). Set the Country classes validator to an instance of that validator. (this can be automated, see the validation section in the manual) If a country isn't changed, it's not saved so the validation logic is only called when the country is changed and has to be saved.