org.hibernate.validator.Length最大值

时间:2010-07-16 12:18:30

标签: java hibernate seam

我在字符串上使用注释@Length:

@Length
private String variable;

我知道我可以在此注释上设置最大值,但有人知道是否可以设置无限制的最大值?

由于

2 个答案:

答案 0 :(得分:2)

对于javax.validation.Lengthorg.hibernate.validator.constraints.Length,默认值为:

int max() default Integer.MAX_VALUE;

即。 2147483647.所以,不是很无限,但足够了。

如果这不适合您,您可以定义自己的约束(根据JSR 303 - javax.validation)并使用长参数而不是int。

答案 1 :(得分:2)

  

我知道我可以在此注释上设置最大值,但有人知道是否可以设置无限制的最大值?

maxint,默认为Integer.MAX_VALUE。由于Java String API不支持长度超过Integer.MAX_VALUE字符的字符串(这样的字符串需要超过4GB的存储空间),因此这是连贯的。在约束级别允许更大的尺寸肯定是

顺便说一下,无限制的最大值作为“约束”没有多大意义。如果您不想约束某些内容,请不要定义约束。

作为旁注,我建议使用来自bean验证的标准@Size,而不是来自Hibernate Validator的@Length注释。