Impossible de connecter Spring jpa avec Oracle
Salut, j'utilise la configuration ci-dessous toujours, j'obtiens une erreur.
spring.datasource.url=jdbc:oracle:[email protected]:1521:mfg1229
spring.datasource.username=apps
spring.datasource.password=xxxx
spring.datasource.driver-class=oracle.jdbc.driver.OracleDriver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=Oracle12cDialect
sous la dépendance que j'ai utilisée dans pom.xml
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
je reçois toujours une erreur ci-dessous.
Caused by: java.lang.ClassNotFoundException: Could not load requested class : Oracle12cDialect
at org.hibernate.boot.registry.classloading.internal.AggregatedClassLoader.findClass(AggregatedClassLoader.java:210) ~[hibernate-core-5.4.23.Final.jar:5.4.23.Final]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
at java.base/java.lang.Clas?s.forName(Class.java:427) ~[na:na]
enter code here
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:130) ~[hibernate-core-5.4.23.Final.jar:5.4.23.Final]
... 28 common frames omitted
QUEL est le problème dans ma configuration. au lieu de driver-class
j'ai aussi vérifié avec driver-class-name
j'ai vérifié OracleDialect
, Oracle10gDialect
et Oracle12cDialect
. pour tous les 3 j'obtiens la même erreur.
Réponses
il n'y a rien de tel que le dialecte "Oracle12cDialect". vous devez écrire correctement. : -
dans votre dossier immobilier c'est:
spring.jpa.properties.hibernate.dialect=Oracle12cDialect
spring.datasource.driver-class=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:[email protected]:1521:mfg1229
mais ça devrait être: -
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle12cDialect
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin@//sca00tof.us.dell.com:1521/mfg1229
si cela ne fonctionne pas, veuillez changer pour:
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
Le dialecte d'Oracle12c peut être utilisé avec hibernate 5.x.
Vous devez ajouter ceci à votre chemin de classe:
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.24.Final</version>
</dependency>
Veuillez noter que vous avez besoin du dialecte pour la version coreesponding d'Oracle DB.
Cependant, je ne peux pas voir le cadre exact que vous utilisez. Veuillez vérifier que la dépendance ci-dessus fait partie de votre chemin de classe. Cela peut venir avec d'autres dépendances telles que JPA ou spring-data.
Veuillez également noter que votre chaîne jdbc semble être incorrecte.
Ça devrait ressembler à ça:
url="jdbc:oracle:thin:@sca00tof.us.dell.com:1521:mfg1229"
Voir ici pour plus de détails: Format de chaîne URL pour la connexion à la base de données Oracle avec JDBC