Java 什么';s长度注释HBM等效值?
我想定义一个Java 什么';s长度注释HBM等效值?,java,hibernate,hibernate-mapping,Java,Hibernate,Hibernate Mapping,我想定义一个org.hibernate.validator.constraints.Length(min=1,max=5),但我必须使用HBM映射。我如何达到同样的行为?理想情况下,我希望在第一种方法中使用javax.validation.constraints.Size(min=1,max=5),因为这是Java API本身。HBM文件与验证无关 您可以使用validation.xml,不过: META-INF/validation.xml <validation-config>
org.hibernate.validator.constraints.Length(min=1,max=5)
,但我必须使用HBM映射。我如何达到同样的行为?理想情况下,我希望在第一种方法中使用javax.validation.constraints.Size(min=1,max=5)
,因为这是Java API本身。HBM文件与验证无关
您可以使用validation.xml
,不过:
META-INF/validation.xml
<validation-config>
...
<constraint-mapping>META-INF/validation/constraints-myEntity.xml</constraint-mapping>
</validation-config>
<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>
...
META-INF/validation/constraints-myEntity.xml
META-INF/validation/constraints myEntity.xml
<validation-config>
...
<constraint-mapping>META-INF/validation/constraints-myEntity.xml</constraint-mapping>
</validation-config>
<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>
我的包裹
.*[A-Z]
您可以使用.hbm.xml文件映射类,但仍然使用注释进行验证约束。我很困惑。不能使用HBM映射文件进行验证,它们特定于Hibernate ORM。也许你的意思是?@Guillaume,我可以这样做,问题是我有一个maven构建,它生成模型类,然后删除HBM文件中不包含的每个修改。@crizzis,不,我的意思是我只能使用HBM e而不是注释进行映射。在这种情况下,我的注释仍然有效