Запуск JBoss 5.1 с Hibernate в качестве поставщика JPA. При поддержке SQL Server 2008.
При запуске сервера я получаю сообщение об ошибке java.lang.ClassCastException: org.hibernate.dialect.SQLServerDialect cannot be cast to org.hibernate.dialect.Dialect
. Довольно четкое сообщение, но я сбит с толку относительно основной причины. У меня есть hibernate-core-3.5.1-Final.jar на пути к классам, и необходимые файлы классов присутствуют.
Эта настройка диалекта не давала ошибок в проекте, когда она использовалась как свойство, передаваемое Spring AnnotationSessionFactoryBean
, но я пытаюсь реорганизовать кусок в прямой EJB / JPA. Для чего это стоит, вот мой конфиг постоянства:
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
version="1.0">
<persistence-unit name="[my name here]">
<jta-data-source>java:jdbc/[my name here]</jta-data-source>
<properties>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>
<property name="hibernate.cache.use_query_cache" value="true" />
<property name="hibernate.cache.use_second_level_cache" value="true" />
<property name="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.EhCacheProvider" />
</properties>
</persistence-unit>
Я ненавижу подобные вопросы «вот мой конфиг и моя трассировка стека», но я возился по этому вопросу в течение полутора часов и не смог придумать какие-либо новые идеи.