欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存

发布时间:2024/4/18 编程问答 56 豆豆

关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空其它属性均正常级联保存

其实解决办法十分简单:
首先确保你能够级联保存数据,当然除了关联表的外键列,我们就是为了解决这个问题

首先分析:为什么不能插入数据的外键?是因为关联表对应的另一个表对象为空,所以取不到其id作为外键参照

而且如果你刚好设置了外键不空,那么你将连关联表其它数据也插入不了,会一直报:sql语句发送异常,因为你违反了外键限制规则完整性

那么解决方法就是:将你映射的关联表实体类对象级联表对应的字段设置为你需要的值

举例如下:
//文章与文章标签相互关联,为一对一关系
//即:文章对象有标签对象,标签对象也有文章对象
//这样他们就有了参照关系,可以正常执行外键插入了
数据库插入异常:

测试代码:**//文章标签被设置为文章属性,且反之亦然** article.setTag(tag); tag.setArticle(article);

其实最终一句话:
就是要设置双向关联:
两边都能知道对方信息,这样才能参照

总结

以上是生活随笔为你收集整理的关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。