次の3つのフィールドの検証チェックの違いは何ですか?
@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のものに関係していると読みました。 2つ目は、Bean検証用です。 3番目は、休止状態の検証用です。
あれは正しいですか?私がまだ理解していないのは、いつどれを使用する必要があるかということです。これらの注釈の1つがトリガーされるのはいつですか?
編集:次の状況を考えてください:長さ13の文字列型のフィールドを持つエンティティを開発する要件がある場合、上記の方法のどれを選択しますか?またはさらに良い:あなたがあなたの目的に合ったものを見つけるためにあなた自身に尋ねる必要がありますか?