2013-03-13 5 views
0

J'essaie d'accéder à sessionFactory en utilisant Jboss7.1.1.Final Jndi recherche sous maven.Accédez à sessionFactory à l'aide de la recherche Jboss Jndi, par exemple. java:/hibernate/SessionFactory

Tout en déployant je reçois dans le journal suivant

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 

Maintenant, au moment de la coulée en utilisant le code suivant

Context ctx1=new InitialContext(); 
Object obj1=ctx1.lookup("java:/hibernate/SessionFactory"); 
SessionFactoryImpl sess= (SessionFactoryImpl)obj1; 

Je reçois exception comme suit

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 

La dépendance que j'utilise pour cela est

<dependency> 
<groupId>org.hibernate</groupId> 
<artifactId>hibernate-entitymanager</artifactId> 
<version>4.0.1.Final</version> 
</dependency> 

et mon xml est

<?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> 

Aide S'il vous plaît.

Répondre

1

Je l'ai fait fonctionnant en mettant la base de données entière accédant la logique à l'intérieur du bean de session sans état et cela a fonctionné bien pour moi :)

Questions connexes