gpt4 book ai didi

java - Hibernate DDL 与 validator 注释

转载 作者:太空宇宙 更新时间:2023-11-04 06:34:22 25 4
gpt4 key购买 nike

我的理解是Hibernate的Annotations分为两类:

  • 仅在启用 Hibernate DDL 时生效(意味着 Hibernate 可以创建/更新/删除数据库架构
  • Hibernate Validator 使用它们

这很有帮助answer , Pascal Thivent解释了 @Column@Size 之间的区别。

据我了解Hibernate Validator,无论是否启用DDL,它们的注释都会生效。

请确认/否认我对注释的理解,以及 Hibernate Validator 对 DDL 启用/禁用的影响。

最佳答案

即使 Hibernate 尚未生成 DDL, validator 也会工作。尽管注释在语义上重叠,但它们是不同的。

这实际上反射(reflect)了两种不同的验证:一种是在应用程序中完成的 bean 验证,另一种是由数据库完成的数据库验证。

例如,带有 @Size(max=50) 和 @Column(length=40) 的属性将通过长度为 45 的字符串的应用程序端验证,但会因数据库上的 SQL 异常而失败,DDL 表示该列是 VARCHAR(40)。这是多余的,通常没用,但也许可以帮助你理解。

关于java - Hibernate DDL 与 validator 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25630290/

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