以下三个字段的验证检查有何不同之处?
@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-validation。第三个是用于hibernate-validation。
这正确吗?我仍然不明白的是:何时使用哪个?这些注释中的哪一个会触发?
编辑:考虑以下情况: 给定要开发一个具有长度为13的字符串类型字段的实体的要求。您会选择上述哪种方法?或者更好的问题是:您需要问自己哪些问题才能找出哪种方法适合您的目的?