实体验证
Validation of entities
Spring Data JDBC 是否在持久化时验证实体 - 正如 Spring Data JPA 在休眠的帮助下所做的那样?
我有这种情况:
- 实体(或多或少是实际数据库的副本table)
- 具有验证约束的 EntityDto(数据传输对象),例如
@NotEmpty
、@Min(5)
等
- Web 层(Spring MVC),其中 DTO 事物由 spring 东西验证。
鉴于此结构并假设 Spring 数据 JDBC 不进行验证 - 除了 @Id
我不需要实体中的其他注释吗?
Spring 数据 JDBC 没有验证。
将来也不会,因为验证是持久性的正交关注点。
是的,在所描述的情况下,您可能只需要一个 @Id
注释。
虽然我建议有一个使用 @Version
的列来启用乐观锁定。
我不太喜欢 Bean Validation。验证应该发生在构造函数中,这样一开始就不可能创建无效的对象。
Spring Data JDBC 支持它,因为它支持非平凡的构造函数。
Spring Data JDBC 是否在持久化时验证实体 - 正如 Spring Data JPA 在休眠的帮助下所做的那样?
我有这种情况:
- 实体(或多或少是实际数据库的副本table)
- 具有验证约束的 EntityDto(数据传输对象),例如
@NotEmpty
、@Min(5)
等 - Web 层(Spring MVC),其中 DTO 事物由 spring 东西验证。
鉴于此结构并假设 Spring 数据 JDBC 不进行验证 - 除了 @Id
我不需要实体中的其他注释吗?
Spring 数据 JDBC 没有验证。
将来也不会,因为验证是持久性的正交关注点。
是的,在所描述的情况下,您可能只需要一个 @Id
注释。
虽然我建议有一个使用 @Version
的列来启用乐观锁定。
我不太喜欢 Bean Validation。验证应该发生在构造函数中,这样一开始就不可能创建无效的对象。 Spring Data JDBC 支持它,因为它支持非平凡的构造函数。