我正在开发一个使用Spring Boot,REST,HATEOAS,Hibernate和PostgreSQL的系统后端。为了验证,我开始使用extend org.springframework.validation.Validator
的类。它运作良好,但仅适用于前端的呼叫。对于在后端进行的呼叫,例如使用EntityManager
,它们不会触发。在@Constraint
ElementType.TYPE
使用create
时,我已设法在这种情况下调用另一个验证程序,但只会调用save
和delete
方法。
是否可以使用此验证程序验证ToTable
方法?有一个项目pd.Series.value_counts
,它是我正在处理的项目的非运营子集,包含我提到的验证器。
提前致谢。
P.S。:每当我在后端调用存储库方法时,我宁愿避免手动调用验证器。
P.P.S。: here回答让我相信它是可能的,但我无法将XML配置转换为JavaConfig。
答案 0 :(得分:1)
我终于找到了答案。在application.properties
中,添加:
spring.jpa.properties.javax.persistence.validation.group.pre-remove=javax.validation.groups.Default
链接的问题告诉我我需要哪个属性,但我不知道放在哪里。我尝试使用自定义Java配置甚至persistence.xml
配置,但其他一些事情都失败了。
Here,我了解到{" [{1}}中的所有属性都作为普通的JPA属性(带有前缀剥离)传递到本地spring.jpa.properties.*
已创建。"所以我只是添加了这个前缀并且有效。