非常にまれなケースであり、グーグルで検索しても役に立たないようです。
xml 検証 (生成されたコード) を使用する必要があり、シナリオは次のようになります。
// This file was generated by the JavaTM Architecture for XML
Binding(JAXB) Reference Implementation, v2.2.4
...
@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "xxx", propOrder
= { ... }) @XmlRootElement(name = "xxx") public class Class01DTO
implements Serializable { ...
@XmlElement(required = true)
protected BetslipDTO.SlipPlacement slipPlacement;
...
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { ...
})
public static class Class02
implements Serializable
{
private final static long serialVersionUID = ...;
protected String stringToValidate;
}
}
「stringToValidate」を検証する方法に自信がありません。次のような Constraints-mapping.xml があります。
<bean class="com.etc.Class01DTO.Class02">
<field name="stringToValidate">
<constraint annotation="javax.validation.constraints.NotNull">
</constraint>
</field>
</bean>
それは単にエラーを生成します。さまざまな組み合わせが試されましたが、結果はありません。誰かが同じケースに直面したことがありますか?コードが生成されることは明らかであるため、注釈ベースの検証オプションを使用することはできません...
ビルドを実行すると、次のようなエラーが表示されます...
shouldValidateSpringContext(com.etc.TestBetSpringContext): Error creating bean with name 'validatorFactoryBean' defined in class path resource [spring/bet-service.xml]: Invocation of init method failed; nested exception is javax.validation.ValidationException: HV000065: Unable to load class: com.etc.Class01DTO.Class02.