我正在使用Hibernate 3.2.6和hbm文件。使用选项hibernate.hbm2ddl.auto = validate时,我只收到第一个验证错误。有没有办法在模式中显示所有错误?
实施例: City.hbm.xml文件有一个名为“name”的属性。当我从表中删除该列时,我得到: 缺少列:nfe.dbo.city中的名称 到目前为止还好。但是,City.hbm.xml文件有另一个名为state的属性。当我从表中删除'state'列时,我收到同样的错误(缺少列:nfe.dbo.city中的名称)并且希望接收模式中的所有错误(不仅仅是第一个错误)。
答案 0 :(得分:3)
由于代码的编写方式,无法让它显示模式中的所有错误。如果您阅读Configuration.validateSchema()的代码,您会看到它在发现的第一个错误时抛出HibernateException,从而结束验证过程。
答案 1 :(得分:2)
我刚刚创建了一个自定义配置类,以便将所有架构违规行为放在一起。发布gist可能对其他人有用:)