Spring boot中Hibernate調整外鍵問題

問題

重啓spring boot,把找不到外鍵。spring

Attempt to resolve foreign key metadata from JDBC metadata failed to find column mappings for foreign key named [FKbenmnokfsg4w0dajvjk9pvnrr]

排查過程

經過工具,無心間看到一個叫FKbenmnokfsg4w0dajvjk9pvnrr的索引,這個名字和控制檯報錯很相似,而後,沿着這個索引去看對應的表和對應的字段,而後,跑到Java裏面看該表的映射屬性。數據庫

緣由

最開始該屬性被映射成外鍵的,後面再Java中配置去掉了外鍵,改爲了String類型;可是,這個改變對於數據庫來講沒有變化。數據庫仍是把該屬性對應的字段當作外鍵處理,因此重啓spring boot的時候就報瞭如上錯誤。bash

解決

在數據庫中,移除FKbenmnokfsg4w0dajvjk9pvnrr該外鍵,以及相關索引便可。app

總結

在Java代碼中調整Hibernate的映射時候,須要看一看數據庫中有沒有生效。網上的另外解決辦法是說升級Spring boot中的Hibernate,經過配置pom.xml工具

<properties>
	...
	<hibernate.version>5.3.7.Final</hibernate.version>
	...
<、properties>

這種方法並無解決上述問題。.net

參考:

Attempt to resolve foreign key metadata from JDBC metadata failed to find column mappings for foreign key Ask Questionhibernate

HHH-10802code

相關文章
相關標籤/搜索