Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 冬眠。验证器注释_Java_Hibernate_Jpa - Fatal编程技术网

Java 冬眠。验证器注释

Java 冬眠。验证器注释,java,hibernate,jpa,Java,Hibernate,Jpa,我的理解是Hibernate的注释分为两类: 仅在启用Hibernate DDL时生效(意味着Hibernate可以创建/更新/删除数据库模式) Hibernate验证器使用它们 在这篇有帮助的文章中,解释了@Column和@Size之间的区别 据我所知,Hibernate验证器的注释将生效,无论是否启用DDL 请确认/否认我对注释的理解,以及Hibernate Validator对DDL是否启用/禁用的影响。即使DDL不是由Hibernate生成的,验证程序也会工作。尽管注释在语义上重叠,

我的理解是Hibernate的注释分为两类:

  • 仅在启用Hibernate DDL时生效(意味着Hibernate可以创建/更新/删除数据库模式)
  • Hibernate验证器使用它们
在这篇有帮助的文章中,解释了
@Column
@Size
之间的区别

据我所知,Hibernate验证器的注释将生效,无论是否启用DDL


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

即使DDL不是由Hibernate生成的,验证程序也会工作。尽管注释在语义上重叠,但它们是不同的注释

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

例如,具有@Size(max=50)和@Column(length=40)的属性将通过应用程序端验证fir长度为45的字符串,但将失败,因为数据库上存在SQL异常DDL称该列为VARCHAR(40)。这是多余的,通常没有用,但可能有助于您理解