я перемещаю валидацию из моего класса в ограничение в springboot
моя модель теперь:
@Entity
@MyUserConstraint
public class User {
my fields like name, lastname, email etc...
}
тогда в моей проверке ограничения я делаю:
public class MyUserConstraintValidation implements ConstraintValidator<MyUserConstraint, User>
{
some code
// check if user present
//
public boolean isValid(User u, ConstraintValidatorContext context)
{
isUserPresent = check my database "select ... where email = "+u.email);
return isUserPresent.id != null;
}
}
это работает, когда я сначала создаю пользователя, и ошибка, когда я создаю того же пользователя - это то, что я хочу.
теперь, когда я обновляю его, ошибка, потому что пользователь существует.
Как можно я использую это ограничение для создания (не вставлять пользователя дважды) и обновления (убедитесь, что пользователь существует) ???