关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存
生活随笔
收集整理的这篇文章主要介绍了
关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存
其实解决办法十分简单:
首先确保你能够级联保存数据,当然除了关联表的外键列,我们就是为了解决这个问题
首先分析:为什么不能插入数据的外键?是因为关联表对应的另一个表对象为空,所以取不到其id作为外键参照
而且如果你刚好设置了外键不空,那么你将连关联表其它数据也插入不了,会一直报:sql语句发送异常,因为你违反了外键限制规则完整性
那么解决方法就是:将你映射的关联表实体类对象的级联表对应的字段设置为你需要的值
举例如下:
//文章与文章标签相互关联,为一对一关系
//即:文章对象有标签对象,标签对象也有文章对象
//这样他们就有了参照关系,可以正常执行外键插入了
数据库插入异常:
测试代码:**//文章标签被设置为文章属性,且反之亦然** article.setTag(tag); tag.setArticle(article);
其实最终一句话:
就是要设置双向关联:
两边都能知道对方信息,这样才能参照
总结
以上是生活随笔为你收集整理的关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: mysql表关联关于Hibernate的
- 下一篇: hibernate报错 net.sf.