KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Could somebody please explain to me why the JPA supports the double type as a field type, but the bean validation constaints in javax.validation.constraints (i.e. @Min / @Max ) do not support it? I know documentation says this is due to rounding errors, but if I choose the field type to be double I already admit that I don't care that much about the explicit precision. The scenario I ran into this dilemma is the following: I have an Entity that represents a point on the earth's surface. If the precision is within a few centimeters it's fine. It looks something like this: @Entity public class Point { /** * The longitude in radians. */ @Min(-Math.Pi) @Max(Math.Pi) double longitude; /** * The latitude in radians. */ @Min(-Math.Pi / 2) @Max(Math.Pi / 2) double latitude; } Unfortunately this does not work, because the annotations do not support the double type. But using BigDecimal instead is not really an option, because I have some extensive computation with multiple points going on that still needs to be reasonably fast. I worked around it by defining a custom constraint check that does work with double s, but somehow I think there is something I'm missing in the whole story. So, what am I missing?
Tags (comma-separated)
Save Edits
Cancel