使用 JPA 和休眠时@Size、@Length和@Column(长度 = 值)之间的差异
2022-08-31 15:21:24
以下三个字段的验证检查有什么区别?
@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验证。第三个是休眠验证。
这是对的吗?我仍然不明白的是:我什么时候必须使用哪一个?这些注释之一何时触发?
编辑:考虑以下情况:给定开发具有长度为 13 的字符串类型的字段的实体的要求。您会选择上述哪种方法?或者更好的是:你必须问自己哪些问题才能找出哪一个适合你的目的?