gpt4 book ai didi

java - JPA 中的 Bean 验证 API

转载 作者:行者123 更新时间:2023-12-01 17:53:31 25 4
gpt4 key购买 nike

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

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

关于java - JPA 中的 Bean 验证 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60758567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com