2014-03-25 99 views
0

如何以编程方式更改Spring + Hibernate JPA应用程序使用的ParameterNameProvider?Hibernate JPA,Bean Validation和Spring

我试图创建一个validation.xml,但我不断收到异常,说“参数名称提供者”是一个无效的元素。

所以我想我宁愿以编程方式做它,但我不知道如何修改系统将与我的ParameterNameProvider使用验证程序。

回答

0

我听起来你没有使用正确版本的Bean验证。如果parameter-name-provider是一个无效元素,那么您可能使用的是Bean Validation 1.0 API,而不是1.1。编程它看起来例如是这样的:

ValidatorFactory工厂=验证 .byDefaultProvider()配置() .parameterNameProvider(新MyParameterNameProvider()) .buildValidatorFactory();

但是,您还需要Bean Validation 1.1。

+0

谢谢。是的,有些事情搞砸了。可能是一个intellij问题。我绝对在运行时使用最新版本,但它似乎是解析旧格式。奇怪的。顺便说一句,编程版本,将导致默认验证程序,休眠JPA使用是我配置的一个?还是只是让“工厂”成为我配置的那个? –

+0

程序化方法适用于您正在创建的工厂。如果你想配置“提供”工厂,你需要使用validation.xml – Hardy

相关问题