MavenでJboss7.1.1.FinalJndiルックアップを使用してsessionFactoryにアクセスしようとしています。
それを展開している間、私は次のログを取得しています
17:28:33,670 INFO [org.hibernate.cfg.Configuration] (http-localhost-127.0.0.1-8080-1) configuring from resource: /hibernate.cfg.xml
17:28:33,671 INFO [org.hibernate.cfg.Configuration] (http-localhost-127.0.0.1-8080-1) Configuration resource: /hibernate.cfg.xml
17:28:34,026 INFO [org.hibernate.cfg.Configuration] (http-localhost-127.0.0.1-8080-1) Configured SessionFactory: java:/hibernate/SessionFactory
17:28:35,785 INFO [org.hibernate.impl.SessionFactoryImpl] (http-localhost-127.0.0.1-8080-1) building session factory
17:28:36,535 INFO [org.hibernate.impl.SessionFactoryObjectFactory] (http-localhost-127.0.0.1-8080-1) Factory name: java:/hibernate/SessionFactory
17:28:36,537 INFO [org.hibernate.util.NamingHelper] (http-localhost-127.0.0.1-8080-1) JNDI InitialContext properties:{}
17:28:36,546 INFO [org.hibernate.impl.SessionFactoryObjectFactory] (http-localhost-127.0.0.1-8080-1) Bound factory to JNDI name: java:/hibernate/SessionFactory
次のコードを使用してキャストするとき
Context ctx1=new InitialContext();
Object obj1=ctx1.lookup("java:/hibernate/SessionFactory");
SessionFactoryImpl sess= (SessionFactoryImpl)obj1;
次のように例外が発生します
17:28:36,691 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) java.lang.ClassCastException: org.hibernate.impl.SessionFactoryImpl cannot be cast to org.hibernate.impl.SessionFactoryImpl
これに使用している依存関係は
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.0.1.Final</version>
</dependency>
そして私のxmlは
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="java:/hibernate/SessionFactory">
<property name="connection.url">jdbc:postgresql://localhost:5432/DUMY</property>
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.username">postgres</property>
<property name="connection.password">postgres</property>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="hibernate.session_factory_name">java:/hibernate/SessionFactory</property>
.
.
.
</session-factory>
</hibernate-configuration>
助けてください。