使用org.hibernate.dialect.SQLServer2008Dialect与hibernate3-maven-plugin时不兼容的API错误

时间:2012-06-05 16:13:11

标签: sql-server-2008 sql-server-2005 hbm2ddl hibernate3-maven-plugin

我之前已经将我的项目设置为使用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。

1 个答案:

答案 0 :(得分:1)

用gradle和glassfish错过了几天同样的错误。我从源代码添加了自己的SqlServer2005Dialect,并注释掉了registerColumnType()行。从这里,错误更改为“java.lang.NoSuchFieldError:INSTANCE”

这是一个更google-able的错误,基本上意味着你有两套休眠罐。

在我的情况下,我在将hibernate放入gradle构建之前通过glassfish安装了hibernate。从glassfish卸载hibernate修复了我的错误,现在我可以运行2008或2005方言。