实体验证

标签 validation spring-data-jdbc

Spring Data JDBC 是否在持久化时验证实体 - 就像 Spring Data JPA 在 hibernate 的帮助下所做的那样?

我有这样的场景:

  • 实体(或多或少是实际数据库表的副本)
  • EntityDto(数据传输对象),具有验证约束,例如 @NotEmpty@Min(5)
  • Web 层 (Spring MVC),其中 DTO 事物由 Spring 内容进行验证。

鉴于此结构并假设 Spring Data JDBC 不进行验证 - 除了 @Id 之外,我不需要实体中的其他注释吗?

最佳答案

Spring Data JDBC 不进行验证。

将来也不会,因为验证是与持久性正交的问题。

是的,在所描述的情况下,@Id 注释可能就是您所需要的。 尽管我建议有一列使用 @Version 来启用乐观锁定。

我不太喜欢 Bean Validation。验证应该在构造函数中进行,以便首先不可能创建无效的对象。 Spring Data JDBC 支持这一点,因为它支持重要的构造函数。

关于实体验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62388104/

相关文章:

regex - bash 正则表达式 电子邮件

c# - 数据注释 : Recursively validating an entire object graph

java - spring-data-jdbc 只读

java - Spring data JDBC 无法创建存储库 Bean - "entity is marked @NonNull but is null"

Spring Data JDBC - Kotlin 支持 - 未找到类所需的属性

java - 如何在 Spring Data JDBC 中编写自定义 @Query?

validation - 我应该在 JSF 1.2/2.0/2.1 中使用什么 DTD 来验证我的配置 XML?

c - 验证用户输入时如何处理缓冲区错误

javascript - IE8 中的表单验证问题

spring-boot - 我可以在 Spring Boot 1.5.x 中使用 "Spring Data JDBC"吗?