Difference between @Max and @DecimalMax (and @Min and @DecimalMin)

Vivin Paliath picture Vivin Paliath · Feb 26, 2011 · Viewed 10.6k times · Source

What's the difference between @Max and @DecimalMax, and @Min and @DecimalMin in Hibernate Validator?

Looking at the Javadocs, they seem to be enforcing the same constraint.

Answer

dSebastien picture dSebastien · Feb 26, 2011

If you take a look at the reference documentation, you'll see that the @Min & @Max annotations both have an impact on the Hibernate metadata while @DecimalMin & @DecimalMax don't. Namely, they add check constraints (which effectively improves your relational mapping).

Also @Max & @Min accept a long value, while @DecimalMax & @DecimalMin accept the String representation of a BigDecimal (which makes these the only possible choice if you're dealing with big numbers that exceed Long.MAX_VALUE or are under Long.MIN_VALUE.