以下三个字段的有效性检查之间有什么区别?
@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有关。第二个是用于bean验证的。第三是用于hibernate验证。
那是对的吗?我仍然不明白的是:我什么时候必须使用哪个?这些注释之一何时触发?
编辑:考虑以下情况:考虑到需要开发一个长度为string类型的字段(长度为13)的实体,您会选择上述哪种方法?甚至更好:您必须问自己哪些问题才能找出适合您目的的一个?
@Column
length
@Size
@Length
因此,无论2.并且3.应该验证String使用Bean验证长度。我选择2.它是因为它是通用的。
2.
3.
String