Java 冬眠。验证器注释
我的理解是Hibernate的注释分为两类:Java 冬眠。验证器注释,java,hibernate,jpa,Java,Hibernate,Jpa,我的理解是Hibernate的注释分为两类: 仅在启用Hibernate DDL时生效(意味着Hibernate可以创建/更新/删除数据库模式) Hibernate验证器使用它们 在这篇有帮助的文章中,解释了@Column和@Size之间的区别 据我所知,Hibernate验证器的注释将生效,无论是否启用DDL 请确认/否认我对注释的理解,以及Hibernate Validator对DDL是否启用/禁用的影响。即使DDL不是由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)。这是多余的,通常没有用,但可能有助于您理解