运行JBoss 5.1,Hibernate作为JPA提供者。支持SQL Server 2008.JPA实体经理工厂创建失败; JBoss,Hibernate和SQL Server
我在服务器启动时收到一个错误,它是java.lang.ClassCastException: org.hibernate.dialect.SQLServerDialect cannot be cast to org.hibernate.dialect.Dialect
。非常明确的信息,但我对于根本原因感到困惑。我在classpath上有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>
我讨厌这几样“这里是我的配置,我的堆栈跟踪”的问题,但我一直在这闲逛了一个小时,一半,我没有提出任何新的想法。
是否可以删除Jboss中的持久性jar文件而不是war文件?也许甚至完全禁用持久性服务? – ziggy 2013-01-06 20:19:52