IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]


Sujet :

Hibernate Java

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
    Bonjour,

    J'essaye pour la première fois d'utiliser le framework Hibernate pour me connecter à ma base de données Oracle.
    J'ai donc ajouté les librairies "required" de Hibernate 5.1.4 (j'utilise java 7), et ojdbc7 à mon projet.
    Ensuite, j'ai ajouté un fichier hibernate.properties à la racine de mon projet dont voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
    hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
    hibernate.connection.url=jdbc:oracle:thin:@*.*.*.*:*:*
    hibernate.connection.username=*
    hibernate.connection.password=*
    J'ai ensuite une classe métier nommée "Commune" et un fichier xml de mapping :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0"?><!DOCTYPE hibernate-mapping
    **PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
    **"http://hibernate.org/dtd/hibernate-mapping.dtd"><hibernate-mapping>
    **<class name="Commune" table="COMM">
    ****<id name="codeINSEE" type="int" column="COMMCOCODE** ">
    ******<generator class="native"/>
    ****</id>
    ****<property name="codeD" type="int" column="DEPTCOCODE" />
    ****<property name="nomC" type="string" column="COMMLILIBE" />
    **</class>
    </hibernate-mapping>
    Fichier de test de connection à ma base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import model.refCollectivites.Commune;
    *
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    *********
    public class testHibernate {
    *
    ****/**
    ****** @param args
    ******/
    ****public static void main(String[] args) {
    *********
    ********Configuration config = new Configuration();
    ********config.addClass(Commune.class);
    ********SessionFactory sessionFactory = config.buildSessionFactory();
    ********Session session = sessionFactory.openSession();
    *********
    ****}
    *
    }
    Et voici l'erreur en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    mars 09, 2017 10:58:05 AM org.hibernate.Version logVersion
    INFO: HHH000412: Hibernate Core {5.1.4.Final}
    mars 09, 2017 10:58:05 AM org.hibernate.cfg.Environment <clinit>
    INFO: HHH000206: hibernate.properties not found
    mars 09, 2017 10:58:05 AM org.hibernate.cfg.Environment buildBytecodeProvider
    INFO: HHH000021: Bytecode provider name : javassist
    mars 09, 2017 10:58:08 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
    INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
    mars 09, 2017 10:58:08 AM org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator initiateService
    WARN: HHH000181: No appropriate connection provider encountered, assuming application will be supplying connections
    mars 09, 2017 10:58:08 AM org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator initiateService
    WARN: HHH000342: Could not obtain connection to query metadata : The application must supply JDBC connections
    Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
    ****at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:264)
    ****at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:228)
    ****at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:207)
    ****at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51)
    ****at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
    ****at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237)
    ****at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:207)
    ****at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352)
    ****at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111)
    ****at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83)
    ****at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418)
    ****at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87)
    ****at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:692)
    ****at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:727)
    ****at testHibernate.main(testHibernate.java:16)
    Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
    ****at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:100)
    ****at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:54)
    ****at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:137)
    ****at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
    ****at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88)
    ****at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:254)
    ****... 14 more
    Sachant que j'ai essayé de me connecter directement en jdbc et cela marche. Je me demande s'il ne faut pas indiquer quelque part à Hibernate où aller chercher la librairie ojdbc7.jar ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Configuration configuration = new Configuration().configure();
    StandardServiceRegistry registry =  ServiceRegistryBuilder.buildServiceRegistry(configuration.getProperties());
    SessionFactory sessionFactory = configuration.buildSessionFactory( registry);
    Session session = sessionFactory.openSession();
    PS: vire ces * quand tu postes ton code.
    A+.

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Merci mais le code que tu me donnes est apparemment déprécié.

    J'ai essayé avec le code donné par la doc Hibernate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // loads configuration and mappings
                Configuration configuration = new Configuration().configure();
                ServiceRegistry serviceRegistry
                    = new StandardServiceRegistryBuilder()
                        .applySettings(configuration.getProperties()).build();
     
                // builds a session factory from the service registry
                SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    Mais j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Exception in thread "main" java.util.ServiceConfigurationError: org.hibernate.boot.registry.selector.StrategyRegistrationProvider: Provider org.hibernate.cache.infinispan.StrategyRegistrationProviderImpl not found
    	at java.util.ServiceLoader.fail(Unknown Source)
    	at java.util.ServiceLoader.access$300(Unknown Source)
    	at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
    	at java.util.ServiceLoader$1.next(Unknown Source)
    	at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:340)
    	at org.hibernate.boot.registry.selector.internal.StrategySelectorBuilder.buildSelector(StrategySelectorBuilder.java:166)
    	at org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:222)
    	at org.hibernate.cfg.Configuration.<init>(Configuration.java:119)
    	at testHibernate.main(testHibernate.java:14)
    Une idée du problème ?

    P.S. : je n'ai pas bien saisi ta remarque sur mon code. En quoi est-ce un problème de mettre des étoiles ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/06/2016, 11h45
  2. Perde et retrouver le lien réseau: Unable to complete request...
    Par Régent dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 15/05/2006, 09h50
  3. unable to create variable object
    Par Batou dans le forum C++
    Réponses: 2
    Dernier message: 09/05/2006, 07h49
  4. Réponses: 4
    Dernier message: 21/11/2005, 12h04
  5. unable to create INITIAL extent for segment in tablespace
    Par Ludolitaliano dans le forum Administration
    Réponses: 4
    Dernier message: 11/09/2003, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo