Spring boot - отключить аннотации проверки в некоторых случаях - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть объект категории с двумя пользовательскими аннотациями проверки @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 для обновления? Может быть, другое решение?

...