[英]Not able to connect spring jpa with Oracle
嗨,我正在使用以下配置,但仍然出現錯誤。
spring.datasource.url=jdbc:oracle:thin@sca00tof.us.dell.com: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
我在 pom.xml 中使用的以下依賴項
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
我仍然低於錯誤。
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
我的配置有什么問題。 而不是driver-class
,我還檢查了driver-class-name
,我檢查了OracleDialect
, Oracle10gDialect
和Oracle12cDialect
。 對於所有 3 我都遇到了同樣的錯誤。
Oracle12c 的方言可以與 hibernate 5.x 一起使用。
您應該將其添加到您的類路徑中:
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.24.Final</version>
</dependency>
請注意,您需要 Oracle DB 對應版本的方言。
我怎么看不到您正在使用的確切框架。 請檢查上述依賴項是否是您的類路徑的一部分。 這可能與其他依賴項一起出現,例如 JPA 或 spring-data。
另請注意,您的 jdbc 字符串似乎是錯誤的。
它應該如下所示:
url="jdbc:oracle:thin:@sca00tof.us.dell.com:1521:mfg1229"
有關詳細信息,請參見此處: URL 字符串格式,用於使用 JDBC 連接到 Oracle 數據庫
沒有像“Oracle12cDialect”這樣的方言。 你需要以正確的方式寫作。 :--
在您的屬性文件中,它是:
spring.jpa.properties.hibernate.dialect=Oracle12cDialect
spring.datasource.driver-class=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin@sca00tof.us.dell.com:1521:mfg1229
但它應該是:--
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
如果不起作用,請更改為:
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.