1

Я ранее задал свой проект, чтобы использовать hibernate3-maven-plugin с org.hibernate.dialect.SQLServerDialect как hibernate.dialect и все работал отлично.Несовместимая ошибка API при использовании org.hibernate.dialect.SQLServer2008Dialect с hibernate3-maven-plugin

Но когда я изменил диалект на org.hibernate.dialect.SQLServer2005Dialect, hibernate3-Maven-плагин встречает следующее сообщение об ошибке:

An API incompatibility was encountered while executing org.codehaus.mojo:hibernate3-maven-plugin:2.2:hbm2ddl: java.land.NoSuchMethodError: org.hibernate.dialect.SQLServer2005Dialect.registerColumnType(IJLjava/lang/String;)V

DoES hbm2ddl поддержки SQLServer2005Dialect или SQLServer2008Dialect (я также получаю ту же ошибку с 2008)?

Я использую версию 2.2 плагина и hibernate.4.1.0.Final и JPA 2.0.

ответ

1

Просто потерял несколько дней с той же ошибкой, что и град и стеклянная рыба. Я добавил свой собственный SqlServer2005Dialect из источника и закомментировал строки registerColumnType(). Отсюда ошибка была изменена на «java.lang.NoSuchFieldError: INSTANCE»

Это гораздо более ошибка google-able, и в основном это означает, что у вас есть 2 набора спящего режима.

В моем случае, я установил спящий режим через стеклянную рыбку, прежде чем спящий режим был помещен в конструкцию градиента. Деинсталляция спящего режима из стеклянной рыбы исправила мою ошибку, и теперь я могу запускать диалекты 2008 или 2005 года.

+1

Это звучит многообещающе. Мне придется исследовать в будущем. В то же время я просто использовал новый SQLServer2008Dialect в веб-приложении и более старый SQLServerDialect для плагина. – citress