Skip to content

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

private Integer sequence;


 @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?



@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.