有没有一种简单的方法可以让 Hibernate 验证每个属性的 set() 方法中的字段长度约束?
我想防止字段包含无效值,而不是等待稍后发生异常。
我有一个带有 Username 属性的类:
@Column(name = "username", length = 12)
public String getUsername()
{
return this.username;
}
public void setUsername(String username)
{
this.username = username;
}
我可以通过以下方式修改我的 Hibernate 模板来创建 set() 方法:
@Column(name = "username", length = 12)
public String getUsername()
{
return this.username;
}
public void setUsername(String username)
{
Method m = ClassWithUsername.getDeclaredMethod("setUsername");
javax.persistence.Column col = m.getAnnotation(javax.persistence.Column.class);
int maxLen = col.length();
// Validate the field length
if(username!=null && username.length() > maxLen)
throw Exception("Username must be no more than " + maxLen + " characters.");
this.username = username;
}
在我这样做之前,我想知道是否还有其他方法。