我正在从 Hibernate 实体生成 DDL。一些实体正在使用 JSR 303 验证器注释(javax.validation.constraints.Max - 就是其中之一)。
DDL 是使用 Hibernate Tools 4.0.0 CR1 + 相关的 Ant Task 生成的。
问题是所有文本列(即使它们可能受@Max(32) 限制)都生成为VARCHAR(255)。我试图调试 org.hibernate.tool.hbm2ddl.SchemaExport 类(和相关的)。据我所见,在 org.hibernate.cfg.Ejb3Column 的构建过程中,没有任何地方可以包含与 Validator 注释相关的任何逻辑。
我还尝试修改 'hibernate.validator.apply_to_ddl' 属性 - 没有任何成功。
任何提示将不胜感激。
组件/库:
- JDK 6
- Hibernate Validator 4.3.0 最终版
- Hibernate Commons Annotations 4.0.2 最终版
- Hibernate Core 4.2.2 最终版
- Hibernate Entity Manager 4.2.2 最终版
拉法尔