運行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