【发布时间】:2012-03-26 03:32:55
【问题描述】:
运行 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>
我讨厌这种“这是我的配置和堆栈跟踪”的问题,但我已经在这个问题上摸索了一个半小时,但未能提出任何新的想法。
【问题讨论】:
标签: sql-server hibernate jboss