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

Ранее я настроил свой проект на использование hibernate3-maven-plugin с org.hibernate.dialect.SQLServerDialect в качестве hibernate.dialect, и все работало нормально.

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

Обнаружена несовместимость API при выполнении org.codehaus.mojo:hibernate3-maven-plugin:2.2:hbm2ddl: java.land.NoSuchMethodError: org.hibernate.dialect.SQLServer2005Dialect.registerCangumnType(IJLjring /; ljring /);

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

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

1 ответ

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

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

В моем случае я установил hibernate через glassfish до того, как hibernate был введен в сборку gradle. Удаление hibernate из glassfish исправило мою ошибку, и теперь я могу запускать диалекты 2008 или 2005 года.

Другие вопросы по тегам