簡體   English   中英

如何正確配置:spring boot/jpa/hibernate和oracle 19c

[英]How to properly configure: spring boot / jpa / hibernate and oracle 19c

我有奇怪的問題。 當我將連接從 MySQL 更改為 Oracle (19c) 時,我無法運行我的spring應用程序。 當我使用 MySQL 時一切正常。 我的應用程序非常簡單,它什么都不做,它是用於測試連接的示例空項目。

這是我的application.properties (MySQL)

spring.datasource.url=jdbc:mysql://localhost:3306/fckOracle
spring.datasource.username = root
spring.datasource.password = student
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver

pom.xml (MySQL) 的一部分

<dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <scope>runtime</scope>
</dependency>

這是我的application.properties (Oracle 19c)

spring.datasource.url=jdbc:oracle:thin:@localhost:1521:orcl
spring.datasource.username=ALBERT
spring.datasource.password=student
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

pom.xml 的一部分(Oracle 19c)

<dependency>
     <groupId>com.oracle.ojdbc</groupId>
     <artifactId>ojdbc8</artifactId>
</dependency>

好的,當我嘗試使用 oracle 連接運行我的應用程序時,編譯器無法加載方言。 程序被凍結並且 localhost:8080 不起作用,這是我的控制台: 在此處輸入圖片說明

我試過很多方言Oracle12cDialect、Oracle10gDialect ...,結果總是一樣,只有一個例外! 當我將方言更改為此時:

spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect

我的應用程序啟動,但出現錯誤:

java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

localhost8080 正在工作,但我無法對我的 oracle 數據庫進行任何操作。

有人知道如何修復這個 oracle 配置嗎?

我有完全相同的問題,有幫助的一件事是將舊的 ojdbc8 驅動程序用於 oracle DB,因此將現有驅動程序替換為:

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>12.2.0.1</version>
</dependency>

但我很想看到更新驅動程序的解決方案,因為我有完全相同的問題,我必須使用 19.3.0.0 驅動程序

還有關於這個錯誤

java.sql.SQLSyntaxErrorException: ORA-00942: 表或視圖不存在

嘗試將spring.jpa.hibernate.ddl-auto設置為updatecreate-drop 這樣 Hibernate 將自動生成模式和表,並刪除它們(當使用create-drop )。 當您仍在試驗應用程序模型時,它特別有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM