JPA中的Bean验证API



JPA实现默认情况下检查以下验证约束生命周期点:

javax.persistence.validation.group.pre-persist
javax.persistence.validation.group.pre-update
javax.persistence.validation.group.pre-remove

在spring-boot应用程序中,自定义这种行为的方法是什么
我不想使用persistence.xml文件

此外,有没有一种方法可以在加载实体时也启用检查
就像我使用@NotNull一样,我还想声明该实体的任何实例,
如果该属性为null,都是无效的,所以应该抛出异常吗?

您应该能够在spring-boot应用程序中修改这些持久性属性,方法是在它们前面加上spring.jpa.properties,然后在application.properties文件中加上它们的值。

例如,javax.persistence.validation.group.pre-update将是spring.jpa.properties.javax.persistence.validation.group.pre-update,后面是要使用这些生命周期事件验证的组,如下所示:

spring.jpa.properties.javax.persistence.validation.group.pre-update=javax.validation.groups.Default

关于应用程序的数据完整性,理想情况下,您希望确保底层数据库中只有干净、准确的日期,并且有适当的数据库约束,以防止出现任何不正确的数据。例如,您可能希望对DB表中的特定列具有NOT NULL约束。如果您从Java代码生成DB模式,您可以考虑使用@NotNull@Column(nullable = false)注释,这将为您的生成此约束

最新更新