Tidak dapat menghubungkan pegas jpa dengan Oracle
Hai, saya menggunakan konfigurasi di bawah ini masih saya mendapatkan kesalahan.
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
di bawah ketergantungan saya digunakan di pom.xml
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
masih saya mendapatkan kesalahan di bawah ini.
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
APA masalah dalam konfigurasi saya. bukannya driver-classsaya juga memeriksa dengan driver-class-namesaya diperiksa OracleDialect, Oracle10gDialectdan Oracle12cDialect. untuk semua 3 saya mendapatkan kesalahan yang sama.
Jawaban
tidak ada yang seperti dialek "Oracle12cDialect". Anda perlu menulis dengan cara yang benar. : -
di file properti Anda adalah:
spring.jpa.properties.hibernate.dialect=Oracle12cDialect
spring.datasource.driver-class=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:[email protected]:1521:mfg1229
tetapi seharusnya: -
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
jika tidak berhasil maka silahkan ganti ke:
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
Dialek untuk Oracle12c dapat digunakan dengan hibernate 5.x.
Anda harus menambahkan ini ke classpath Anda:
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.24.Final</version>
</dependency>
Harap dicatat bahwa Anda memerlukan dialek untuk Versi inti yang menanggapi Oracle DB.
Bagaimana pun saya tidak dapat melihat kerangka kerja persis yang Anda gunakan. Harap periksa apakah ketergantungan obove adalah bagian dari jalur kelas Anda. Ini mungkin datang dengan dependensi lain seperti JPA atau spring-data.
Juga harap dicatat bahwa string jdbc Anda tampaknya salah.
Ini akan terlihat seperti ini:
url="jdbc:oracle:thin:@sca00tof.us.dell.com:1521:mfg1229"
Lihat di sini untuk detailnya: Format string URL untuk menghubungkan ke database Oracle dengan JDBC