9

電子メール コレクション プロパティを持つ 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;
}

私の Email クラスでは、@Email で電子メールに注釈を付けようとしました。

@Embeddable
public class EmailU implements Serializable {
    private String email;

    public EmailU(){
    }

    @Email
    public String getEmail() {
        return email;
    }
}

しかし、うまくいきません。ここで私のアプローチはどうあるべきですか?

4

1 に答える 1

15

@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;
}

注釈ドキュメント: http://docs.oracle.com/javaee/6/api/javax/validation/Valid.html

于 2012-12-21T15:37:01.960 に答える