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

相关文章
相关标签/搜索