1

以前、プロジェクトをhibernate3-maven-pluginとorg.hibernate.dialect.SQLServerDialectをhibernate.dialectとして使用するように設定しましたが、すべてが正常に機能していました。

しかし、方言をorg.hibernate.dialect.SQLServer2005Dialectに変更すると、hibernate3-maven-pluginで次のエラーが発生します。

org.codehaus.mojo:hibernate3-maven-plugin:2.2:hbm2ddl:java.land.NoSuchMethodError:org.hibernate.dialect.SQLServer2005Dialect.registerColumnType(IJLjava / lang / String;)Vの実行中にAPIの非互換性が発生しました

hbm2ddlはSQLServer2005DialectまたはSQLServer2008Dialectをサポートしていますか(2008でも同じエラーが発生します)?

プラグインのバージョン2.2とhibernate.4.1.0.FinalおよびJPA2.0を使用しています。

4

1 に答える 1

1

gradleとglassfishで同じエラーが発生して数日が失われました。ソースから独自の SqlServer2005Dialect を追加し、registerColumnType() 行をコメントアウトしました。ここから、エラーが「java.lang.NoSuchFieldError: INSTANCE」に変わりました

これは、Google 対応のエラーであり、基本的には休止状態の jar が 2 セットあることを意味します。

私の場合、休止状態がgradleビルドに入れられる前に、グラスフィッシュを介して休止状態をインストールしました。グラスフィッシュから休止状態をアンインストールするとエラーが修正され、2008 または 2005 の方言を実行できるようになりました。

于 2012-08-02T15:38:01.430 に答える