On Wed, Mar 4, 2009 at 4:20 PM, Emmanuel Bernard <emman...@hibernate.org> wrote:
> I mean we could but we would need to rely on the string representation > > @interface Max { > String value() > } > > @Max("12.5") > double someNumber; There's very few domains where you want to be validating user input and storing it as a double. For reasons you talked about and also just for returning back what the user typed in a form, for instance, doubles aren't user friendly. Thus, I don't see why validating a double should be necessarily supported. Most developers people don't understand floating point very well, and your average user is unlikely to know about rounding errors and inexact representation, etc. In my original question, I was considering validation cases when you are using a BigDecimal. The common use case is validating a column from a database. Databases columns most often use exact representations of decimal numbers, for obvious reasons when working with money. There, you don't want to be storing data in doubles! In any case, I would assume you'd want to indicate something similar to: @Max("12.5") BigDecimal someNumber; Since the BigDecimal and BigInteger have String constructors that are well defined, a String representation seems fine. There's other restrictions you may want to make as well. For instance, you may want to restrict values to at most N decimal places or significant digits, i.e. precision. This is useful in scientific applications. How might you represent that? _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev