Java 如何在属性文件的@Size注释中设置最大值?

Java 如何在属性文件的@Size注释中设置最大值?,java,hibernate-validator,Java,Hibernate Validator,我使用的是Hibernate验证程序版本5.3.0 下面是我要验证的类 public class DocumentRequest { @NotEmpty(message="{invalid.docId}") private String docId; @NotEmpty(message="{invalid.title}") @Size(max=200, message="{invalid.title}") private String title; }

我使用的是Hibernate验证程序版本5.3.0

下面是我要验证的类

public class DocumentRequest {

    @NotEmpty(message="{invalid.docId}")
    private String docId;

    @NotEmpty(message="{invalid.title}")
    @Size(max=200, message="{invalid.title}")
    private String title;
}
这里的问题是
@Size
max值是一个“神奇”数字(引用
声纳
)。 如何从属性文件进行设置

我试图补充如下:

public class DocumentRequest {

    @NotEmpty(message="{invalid.docId}")
    private String docId;

    @NotEmpty(message="{invalid.title}")
    @Size(max="{max.default.value}", message="{invalid.title}")
    private String title;
}
我在validation.properties文件中添加了
max.default.value
,但max可以是
int
,我正在将
String
传递给它。因此:

类型不匹配:无法从字符串转换为int


有没有办法做到这一点

声纳发出抱怨并不意味着你的代码不好


如果你把这个“神奇”的值放在你班最顶端的
私人静态决赛中,Sonar已经很高兴了。无需将其设置为属性(我怀疑如果有人稍后决定更改此属性,您的系统会反应良好)。

同意,Sonar将注释中的常量标记为一个问题似乎是误导。这就是说,我们在Hibernate验证器中有一个用于动态约束定义的API,您可以使用它,但实际上在这种情况下不应该这样做。