解決使用Oracle資料庫,專案啟動由於表原因無法成功啟動問題
1.仔細看異常資訊,如果出現一個 翻譯過來是 不僅僅這一張表,那就說明,在連線資料庫,定位到表的時候有多張表,不知道連哪一張。
原因: 有多個使用者,這兩個使用者下有相同的表。 就算是在不同的表空間也不行。 本人猜測在不同的例項下應該是可以存在同樣的兩張表。
解決辦法;刪掉多餘的使用者及其下的表,或者刪除此使用者下相同的表就行。
2.在使用hibernate進行自動建表的時候,需要有許可權,一般設定個dba許可權比較好。
3.spring boot 整合 hibernate 進行開發的時候,在配置檔案中設定jpa 的其中三種值 : create update drop
create : 表示啟動專案後,載入hibernate時候,會先刪除原先庫中的表,再進行建立
update :hibernate在第一次載入的時候建立表,後面再載入的話,表示進行比較,可以修改建立新表,但不刪除。
drop: 每次停止專案,刪除所有hibernate已建表。
Oracle在刪除和建立使用者的時候需要再dba下進行:
Linux下; su - oracle
sqlplus / as sysdba; 以dba登入
建立使用者前,先建表空間: create tablespace 表空間名 datafile 'dbf檔案路徑(此路徑的目錄必須已存在)' size 100M;
建立使用者 create user 使用者名稱 identityfied by 密碼 default tablespace 表空間名;
授權: grant dba to 使用者名稱;給使用者授dba角色許可權
grant connect ,resource to 使用者名稱 ;普通許可權 這個其實是賦予了一個角色,通過角色間接授權
刪除使用者:drop user 使用者名稱 cascade; 此命令刪除使用者及其下的所有表。