В чем разница между проверкой проверки следующих трех полей?Разница между @Size, @Length и @Column (length = value)
@Entity
public class MyEntity {
@Column(name = "MY_FIELD_1", length=13)
private String myField1;
@Column(name = "MY_FIELD_2")
@Size(min = 13, max = 13)
private String myField2;
@Column(name = "MY_FIELD_3")
@Length(min = 13, max = 13)
private String myField3;
// getter & setter
}
Я читал, что первый из них связан с материалом DDL. Второй - для проверки боба. Третий - для проверки спящего режима.
Верно ли это? Я все еще не понимаю: когда я должен использовать какой? Когда запускается одна из этих аннотаций?
Редактировать: Подумайте о следующей ситуации: Учитывая требование разработать сущность с полем типа string длиной 13. Какой из вышеупомянутых методов вы бы выбрали? Или еще лучше: на какие вопросы вы должны попросить себя выяснить, какой из них подходит вашим целям?
Столбец не имеет ничего общего с VALIDATION. Размер - стандарт JPA. Длина запатентована. Ответ должен быть ясен из этого ... @Size –
Длина является запатентованной? Так что мне не разрешено использовать это вообще? – Chris311
Как говорится в ответе, это расширение поставщика Hibernate. Не имеет смысла использовать его (кроме людей, которые хотели бы привязать себя к одной реализации JPA без причины) –