![](/img/trans.png)
[英]Problem with mapping entity in Spring Boot for Oracle 19c Database
[英]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
設置為update
或create-drop
。 這樣 Hibernate 將自動生成模式和表,並刪除它們(當使用create-drop
)。 當您仍在試驗應用程序模型時,它特別有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.