如何在删除前使用BeanValidation验证记录?例如,我只能在将来executeDate
字段时删除记录。
我在项目中使用成功beanvalidation。它是基于配置的注释。我在Controller方法的@Valid
注释中使用它。它是基于Spring的MVC应用程序。
我的环境:
<hibernate4.core.version>4.2.1.Final</hibernate4.core.version>
<spring.version>3.2.2.RELEASE</spring.version>
<hibernate.search.version>4.2.0.Final</hibernate.search.version>
编辑:
我已经看到了这个:hibernate validator - different groups on create, update, delete和Hibernate Documentation,但它对我来说并不清楚。
如果到目前为止我有验证工作,我只需要添加特殊情况进行删除吗?我很困惑我需要采取哪些步骤才能获得这一功能。
答案 0 :(得分:1)
添加到您的持久性配置
<property name="javax.persistence.validation.group.pre-remov">MyDeleteGroup</property>
将此注释添加到日期字段
@Past(groups=MyDeleteGroup.class)
删除群组MyDeleteGroup
只是一个标记界面,如javax.validation.groups.Default
答案 1 :(得分:0)
您可以为案例使用@Past注释
见第6.1节
<event type="pre-delete">
<listener class="org.hibernate.cfg.beanvalidation.BeanValidationEventListener"/>
</event>
答案 2 :(得分:0)
对于Spring Boot用户:
application.yml
window.onscroll
或
application.proeprties
spring:
jpa:
properties:
javax:
persistence:
validation:
group:
pre-remove: com.your_package.MyDeleteGroup