2012-03-26 15 views
0

JPAプロバイダとしてのHibernateを使用してJBoss 5.1を実行しています。 SQL Server 2008のサポート。JPAエンティティマネージャファクトリの作成に失敗しました。 JBoss、HibernateおよびSQL Server

サーバーの起動時にエラーが発生しました。これは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> 

私は質問「ここに私の設定と私のスタックトレースだ」これらの種類を憎むが、私は時間とのために、この上でチャンスをうかがってきた:それは価値がある何のために、ここで私の持続性の設定です新しいアイデアが出てこない。

答えて

1

ClassCastExceptionは、システム内に2つのjavax.persistence APIのコピーがあるために発生します。 JBoss上で実行しているときは、永続性jarをアプリケーションにパッケージ化しないでください。永続性関連のjarファイルをアプリケーションからすべて削除してください。例外はなくなります。

+0

warファイルではなくJbossで永続jarファイルを削除することはできますか?永続化サービスを完全に無効にすることさえできますか? – ziggy

関連する問題