《spring boot》8.2章學習時無法正常啟動,報“ORA-00942: 表或視圖不存在 ”


  在學習《spring boot》一書的過程中,由於原書作者難免有一些遺漏的的地方,或者系統、軟件版本不一致、框架更新等各種因素,完全安裝書中源碼頁不能實現項目的正常啟動

  在8.2章節,演示JPA對oracle的支持時,配置文件中設置了如下代碼,正常情況下應該支持數據庫自動創建序列和表,但實際啟動時卻報錯“ORA-00942: 表或視圖不存在 ”

  

spring.datasource.driverClassName=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc\:oracle\:thin\:@localhost\:1521\:xe
spring.datasource.username=XXXXX(此處請替換為你的數據庫用戶名)
spring.datasource.password=XXXXX(此處請替換為你的數據庫用戶名對應的密碼)
#1
spring.jpa.hibernate.ddl-auto=update
#2
spring.jpa.show-sql=true
#3
spring.jackson.serialization.indent-output=true

 

   需要插入數據的data.sql:

insert into person(id,name,age,address) values(hibernate_sequence.nextval,xxx',32,'合肥');
insert into person(id,name,age,address) values(hibernate_sequence.nextval,'xx',31,'北京');
insert into person(id,name,age,address) values(hibernate_sequence.nextval,'yy',30,'上海');
insert into person(id,name,age,address) values(hibernate_sequence.nextval,'zz',29,'南京');
insert into person(id,name,age,address) values(hibernate_sequence.nextval,'aa',28,'武漢');
insert into person(id,name,age,address) values(hibernate_sequence.nextval,'bb',27,'合肥');

  解決辦法:

  在src/main/resources下面在新建一個schema.sql,內容如下:

create sequence hibernate_sequence increment by 1 start with 1 maxvalue 999999999;
CREATE TABLE person (id  NUMBER(5) PRIMARY KEY,name  VARCHAR2(15) NOT NULL,age NUMBER(5),address VARCHAR2(15)) TABLESPACE  your_table_space(此處替換為你登錄的數據庫賬戶對應的表空間,若還沒有表空間,那你需要添加一行創建表空間的sql在這段代碼的開頭)

  表空間可以在這里查看:

 

   如果項目啟動完成,訪問頁面出現“Whitelabel Error Page”, 請調整項目代碼的文件結構:

com  
 +- example  
     +- myproject  
         +- Application.java  
         |  
         +- domain  
         |   +- Customer.java  
         |   +- CustomerRepository.java  
         |  
         +- service  
         |   +- CustomerService.java  
         |  
         +- web  
             +- CustomerController.java  

 

  本文的解決方案完全參考自如下鏈接:

  http://blog.csdn.net/lvyuan1234/article/details/65631176


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM