Chr*_*311 52 java validation orm hibernate jpa
以下三个字段的验证检查有什么区别?
@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
}
Run Code Online (Sandbox Code Playgroud)
我读到第一个与DDL的东西有关.第二个是bean验证.第三个是用于休眠验证.
那是对的吗?我还不明白的是:我什么时候需要使用哪一个?这些注释中的一个何时触发?
编辑:考虑以下情况:鉴于需要开发一个具有长度为13的字符串类型字段的实体.您会选择上述哪种方法?甚至更好:你有什么问题要问自己找出哪一个适合你的目的?
Vla*_*cea 97
@Column是JPA注释,length模式生成工具使用该属性来设置关联的SQL列长度.@Size 是一个Bean Validation批注,用于验证关联的String是否具有长度受最小值和最大值限制的值.@Length 是一个特定于Hibernate的注释,具有与之相同的含义 @Size因此,无论2.并且3.应该验证String使用Bean验证长度.我选择2.因为它是通用的.
| 归档时间: |
|
| 查看次数: |
51218 次 |
| 最近记录: |