我想在我的类上使用JSR 303 Bean验证。我的问题是这些类是从模式生成的。我在我的绑定文件上使用jaxb annotate插件,并且能够定义简单的验证注释,如@NotNull。当我必须为不同的组定义多个相同类型的注释时,我的问题出现了。 javax.validation使用@ Size.List {@Size ...)等注释为此提供了解决方案。我如何使用jaxb-annotate和annox插件来定义这些注释。
答案 0 :(得分:0)
您可以使用Annox定义嵌套注释,这没问题。在你的情况下,它将是:
在* .xjb文件中:
<annox:annotate>
<annox:annotate annox:class="javax.validation.constraints.Size$List">
<annox:annotate annox:field="value">
<annox:annotate annox:class="javax.validation.constraints.Size" .../>
</annox:annotate>
</annox:annotate>
</annox:annotate>
在架构中:
<annox:annotate>
<c:Size$List xmlns:c="http://annox.dev.java.net/javax.validation.constraints">
<c:value>
<c:Size ... />
</c:value>
</c:Size$List>
</annox:annotate>
我还没有测试过,所以语法可能有点不同。