SpringBoot + Hibernate5.x + Spring Data JPA遇到的坑

我的數(shù)據(jù)庫(kù)是Oracle11g/10g都出現(xiàn)了以下的問(wèn)題

按照網(wǎng)上的配置:

spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.use-new-id-generator-mappings=true
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

以上配置會(huì)要求實(shí)體中配置的屬性映射column必須大寫(xiě).但是在第一次建表成功以后,第二次啟動(dòng)項(xiàng)目按道理會(huì)update表結(jié)構(gòu).然后不是,hibernate依然是走的是create建表語(yǔ)句,導(dǎo)致語(yǔ)句執(zhí)行失敗,提示"名稱已由現(xiàn)有對(duì)象引用"的錯(cuò)誤..

跟蹤Hibernate的代碼發(fā)現(xiàn),Hibernate在讀取metaData時(shí)沒(méi)有獲取到tables信息.catalog為null,schema也為null.

解決方案:增加以下jpa屬性配置

spring.jpa.properties.hibernate.default_schema=XXXX

xxxx的值為Oracle數(shù)據(jù)庫(kù)用戶名.并且必須是大寫(xiě)的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容