Несовместимая ошибка 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 года.