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:
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:
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:
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:
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.