【问题标题】:What's Length annotation HBM equivalent?什么是长度注释 HBM 等价物?
【发布时间】:2021-06-28 23:52:19
【问题描述】:

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

【问题讨论】:

  • 您可以使用 .hbm.xml 文件映射类,并且仍然使用注释进行验证约束
  • 我很困惑。您不能使用 HBM 映射文件进行验证,它们特定于 Hibernate ORM。也许你的意思是this
  • @Guillaume,我可以这样做,问题是我有一个生成模型类的 maven 构建,然后删除 HBM 文件中不包含的每个修改。
  • @crizzis,不,我的意思是我只能使用 HBM 映射而不是注释。
  • 在那种情况下,我的评论仍然成立

标签: java hibernate hibernate-mapping


【解决方案1】:

HBM 文件不涉及验证。

不过,您可以使用validation.xml

META-INF/validation.xml

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

META-INF/validation/constraints-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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    相关资源
    最近更新 更多