我之前已经将我的项目设置为使用hibernate3-maven-plugin和org.hibernate.dialect.SQLServerDialect作为hibernate.dialect,一切正常。
但当我将方言更改为org.hibernate.dialect.SQLServer2005Dialect时,hibernate3-maven-plugin遇到以下错误:
执行org.codehaus.mojo时遇到API不兼容:hibernate3-maven-plugin:2.2:hbm2ddl:java.land.NoSuchMethodError:org.hibernate.dialect.SQLServer2005Dialect.registerColumnType(IJLjava / lang / String;)V
hbm2ddl是否支持SQLServer2005Dialect或SQLServer2008Dialect(我在2008年也遇到了同样的错误)?
我使用的是插件版本2.2和hibernate.4.1.0.Final和JPA 2.0。
答案 0 :(得分:1)
用gradle和glassfish错过了几天同样的错误。我从源代码添加了自己的SqlServer2005Dialect,并注释掉了registerColumnType()行。从这里,错误更改为“java.lang.NoSuchFieldError:INSTANCE”
这是一个更google-able的错误,基本上意味着你有两套休眠罐。
在我的情况下,我在将hibernate放入gradle构建之前通过glassfish安装了hibernate。从glassfish卸载hibernate修复了我的错误,现在我可以运行2008或2005方言。