1. ホーム
  2. java

size(max = value ) と @min(value), @max(value) の差分。

2023-08-07 11:43:16

質問

ドメインバリデーションを行いたい。私のオブジェクトには、1つの整数があります。

ここで質問ですが、もし私が

@Min(SEQ_MIN_VALUE)
@Max(SEQ_MAX_VALUE)
private Integer sequence;

 @Size(min = 1, max = NAME_MAX_LENGTH)
 private Integer sequence;

整数である場合、ドメインバリデーションに適切なのはどちらでしょうか?

どなたか両者の違いを説明していただけませんか?

ありがとうございます。

どのように解決するのですか?

@Min そして @Max は、数値フィールドの検証に使用されます。 String (数字を表す) である可能性のある数値フィールドの検証を行います。 int , short , byte などと、それぞれのプリミティブラッパーです。

@Size は、フィールドの長さの制約をチェックするために使われます。

ドキュメントにあるように @Size サポート String , Collection , Maparrays 一方 @Min そして @Max はプリミティブとそのラッパーをサポートしています。詳しくは のドキュメントを参照してください。 .