首页 > 解决方案 > 什么是长度注释 HBM 等价物?

问题描述

我想定义一个org.hibernate.validator.constraints.Length(min = 1, max = 5),但我必须使用 HBM 映射。我如何实现相同的行为?理想情况下,我想使用javax.validation.constraints.Size(min = 1, max = 5)第一种方法,因为它本身就是 Java API。

标签: javahibernatehibernate-mapping

解决方案


HBM 文件不涉及验证。

但是,您可以使用validation.xml

META-INF/validation.xml

<validation-config>
    ...
    <constraint-mapping>META-INF/validation/constraints-myEntity.xml</constraint-mapping>
</validation-config>

META-INF/验证/约束-myEntity.xml

<constraint-mappings>
    <default-package>my.package</default-package>
    <bean class="MyEntity">
        <field name="myField">
            <constraint annotation="javax.validation.constraints.Pattern">
                <element name="regexp">.*[A-Z]</element>
            </constraint>
        </field>
    </bean>
</constraint-mappings>

推荐阅读