ftk*_*tkg 8 java validation annotations hibernate hibernate-mapping
我有一个带有Email集合属性的Person实体:
@ElementCollection
@CollectionTable(schema="u",name="emails",joinColumns=@JoinColumn(name="person_fk"))
@AttributeOverrides({
@AttributeOverride(name="email",column=@Column(name="email",nullable=false)),
})
public List<EmailU> getEmails() {
return emails;
}
Run Code Online (Sandbox Code Playgroud)
在我的Email类中,我尝试使用@Email注释电子邮件:
@Embeddable
public class EmailU implements Serializable {
private String email;
public EmailU(){
}
@Email
public String getEmail() {
return email;
}
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我的方法应该是什么?
Per*_*ion 13
@Valid在集合属性中添加注释.这会触发验证提供程序验证集合中的每个项目,然后调用@Email验证程序.
@Valid
@ElementCollection
@CollectionTable(schema="u",name="emails",joinColumns=@JoinColumn(name="person_fk"))
@AttributeOverrides({
@AttributeOverride(name="email",column=@Column(name="email",nullable=false)),
})
public List<EmailU> getEmails() {
return emails;
}
Run Code Online (Sandbox Code Playgroud)
注释文档:http://docs.oracle.com/javaee/6/api/javax/validation/Valid.html