gpt4 book ai didi

hibernate - 如何使用 Hibernate 配置自定义消息插值?

转载 作者:行者123 更新时间:2023-12-01 06:32:52 25 4
gpt4 key购买 nike

我编写自定义消息插值。我希望 JPA 将使用我的自定义消息插值。这里http://docs.jboss.org/hibernate/validator/4.2/reference/en-US/html/validator-bootstrapping.html#section-message-interpolator我找到了以下描述:

Configuration<?> configuration = Validation.byDefaultProvider().configure();
ValidatorFactory factory = configuration
.messageInterpolator(new ValueFormatterMessageInterpolator(configuration.getDefaultMessageInterpolator()))
.buildValidatorFactory();

Validator validator = factory.getValidator();

但是我应该在哪里写这样的代码?在 init-servlet 中的 web.xml 中?我可以在persistance.xml 中提供这样的代码吗?

附言我复制并粘贴代码。在我的情况下
ValueFormatterMessageInterpolator(configuration.getDefaultMessageInterpolator()))

将在这样的事情上发生变化
CustomMessageInterpolator(configuration.getDefaultMessageInterpolator()))

另见 How do I dynamically resolve message parameters with Hibernate Validator?

最佳答案

JSR-303 bean 验证框架提供了通过 XML 配置验证框架的可能性。

例如。 META-INF/validation.xml
见章节

4.4.6. XML Configuration: META-INF/validation.xml



详细信息: http://download.oracle.com/otndocs/jcp/bean_validation-1.0-fr-oth-JSpec/

4.4.6. XML 配置:META-INF/validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<validation-config
xmlns="http://jboss.org/xml/ns/javax/validation/configuration"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration validation-configuration-1.0.xsd">
<default-provider>com.acme.ACMEProvider</default-provider>
<message-interpolator>com.acme.ACMEAwareMessageInterpolator</message-interpolator>
<constraint-mapping>META-INF/validation/order-constraints.xml</constraint-mapping>
<constraint-mapping>META-INF/validation/catalog-constraints.xml</constraint-mapping>
<constraint-mapping>META-INF/validation/customer-constraints.xml</constraint-mapping>
<property name="com.acme.validation.logging">WARN</property>
<property name="com.acme.validation.safetyChecking">failOnError</property>
</validation-config>

用你的持久性 jar (META-INF/validation.xml) 打包 xml 文件,它应该可以工作。

根据您的部署包(例如 EAR),可能需要将它放在 EAR 的 lib 文件夹中的共享库中。

hibernate 文档说:

The key to enable XML configuration for Hibernate Validator is the file validation.xml. If this file exists in the classpath its configuration will be applied when the ValidationFactory gets created. Example 4.1, “validation-configuration-1.0.xsd” shows a model view of the xsd valiation.xml has to adhere to.



http://docs.jboss.org/hibernate/validator/4.0.1/reference/en/html_single/#d0e1867

关于hibernate - 如何使用 Hibernate 配置自定义消息插值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18329803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com