Difference between @size(max = value ) and @min(value) and @max(value)



I want to do some domain validation. In my object I have one integer.

Now my question is: if I write

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

and

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

If it’s an integer which one is proper for domain validation?
Can anybody explain me what is the difference between them?

Thanks.

Answer

@Min and @Max are used for validating numeric fields which could be String(representing number), int, short, byte etc and their respective primitive wrappers.

@Size is used to check the length constraints on the fields.

As per documentation @Size supports String, Collection, Map and arrays while @Min and @Max supports primitives and their wrappers. See the documentation.



Source: stackoverflow