store userId in the json record and rehydrate the User via UserRepository. throws DomainException if the referenced user no longer exists.