У меня есть объект категории с двумя пользовательскими аннотациями проверки @FieldMatch
и @CategoryExists
. Это код:
@Entity
@Table(name = "Category")
@FieldMatch(first = "defaultSrcLanguage", second =
"defaultTargetLanguage", message = "Languages must be different")
@CategoryExists(category="name", message="Category already exists")
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Size(min=2, message="Enter at least 2 characters...")
@Column(name = "name")
private String name;
@OneToOne
@NotNull
private Language defaultSrcLanguage;
@OneToOne
@NotNull
private Language defaultTargetLanguage;
private String defaultTargetSide;
private int defaultCountdownDuration;
// getters and setters
@CategoryExists
проверяет, существует ли категория с указанным именем в базе данных. Если существует, отображается сообщение об ошибке: «Категория уже существует». Желательно при создании новой категории. Но во время обновления категории, т. Е. «Test5», я не всегда хочу менять название категории, но другие поля, такие как defaultSrcLanguage
. Кстати, я получу то же сообщение об ошибке «Категория уже существует». Можно ли отключить аннотацию @CategoryExist
для обновления? Может быть, другое решение?