10.6.3.4. 同梱の制約
| アノテーション | 適用先 | ランタイムチェック | Hibernate Metadata の影響 |
|---|---|---|---|
| @Length(min=, max=) | プロパティ (文字列) | 文字列の長さが指定の範囲とマッチしているか確認 | カラムの長さを最大に設定 |
| @Max(value=) | プロパティ (数字あるいは数字の文字列表現) | 値が最大値以下であるか確認 | カラムに check 制約を追加 |
| @Min(value=) | プロパティ (数字あるいは数字の文字列表現) | 値が最小値以上であるか確認 | カラムに check 制約を追加 |
| @NotNull | プロパティ | 値が null でないか確認 | カラムが null でないか確認 |
| @NotEmpty | プロパティ | 文字列が null あるいは空でないか確認。接続が null あるいは空でないか確認 | カラムが (文字列に対し) null でないか確認 |
| @Past | プロパティ (日付あるいはカレンダー) | 日付が過去のものかを確認 | カラムに check 制約を追加 |
| @Future | プロパティ (日付あるいはカレンダー) | 日付が未来のものかを確認 | なし |
| @Pattern(regex="regexp", flag=) or @Patterns( {@Pattern(...)} ) | プロパティ (文字列) | プロパティが一致フラグを渡す正規表現に一致しているか確認 (java.util.regex.Pattern 参照) | なし |
| @Range(min=, max=) | プロパティ (数字あるいは数字の文字列表現) | 最小値以上、最大値以下であるか確認 | カラムに check 制約を追加 |
| @Size(min=, max=) | プロパティ (アレイ、コレクション、マップ) | 要素サイズが最小値以上、最大値以下であるかを確認 | なし |
| @AssertFalse | プロパティ | メソッドが false と評価しているよう確認 (アノテーションでなくコードで制約が表現されている場合に便利) | なし |
| @AssertTrue | プロパティ | メソッドが true と評価しているよう確認 (アノテーションでなくコードで制約が表現されている場合に便利) | なし |
| @Valid | プロパティ (オブジェクト) | 紐付けされたオブジェクトに再帰的にバリデーションを行う。オブジェクトがコレクションかアレイの場合は、要素は再帰的に検証されます。また、オブジェクトがマップの場合、値要素が再帰的に検証されます。 | なし |
| プロパティ (文字列) | 文字列が e-メールアドレスの仕様に対応しているか確認 | なし | |
| @CreditCardNumber | プロパティ (文字列) | 文字列がクレジットカード番号用に適切にフォーマットされているか確認 (Luhn アルゴリズムの派生) | なし |
| @Digits(integerDigits=1) | プロパティ (数字あるいは数字の文字列表現) | プロパティが最大 integerDigits の整数桁と fractionalDigits 少数点以下の桁数を持つ数字であるか確認 | カラムの制度とスケールを定義 |
| @EAN | プロパティ (文字列) | 文字列が正しくフォーマットされた EAN あるいは UPC-A コードであるか確認 | なし |