当前位置:   article > 正文

Spring boot中Hibernate调整外键问题

attempt to resolve foreign key metadata from jdbc metadata failed to find co

问题

重启spring boot,把找不到外键。

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的时候就报了如上错误。

解决

在数据库中,移除FKbenmnokfsg4w0dajvjk9pvnrr该外键,以及相关索引即可。

总结

在Java代码中调整Hibernate的映射时候,需要看一看数据库中有没有生效。网上的另外解决办法是说升级Spring boot中的Hibernate,通过配置pom.xml

  1. <properties>
  2. ...
  3. <hibernate.version>5.3.7.Final</hibernate.version>
  4. ...
  5. <、properties>

这种方法并没有解决上述问题。

参考:

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

HHH-10802

转载于:https://my.oschina.net/fxtxz2/blog/2252271

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/1009373
推荐阅读
相关标签
  

闽ICP备14008679号