永发信息网

hibernate @many-to-one取消级联动作

答案:3  悬赏:60  手机版
解决时间 2021-02-20 13:03
  • 提问者网友:饥饿走向夜
  • 2021-02-19 18:18
在使用hibernate做数据库插入时出现以下错误,上网查过原因是由于many-to-one插入数据库时会级联插入到关联表,我想不使用级联动作应该如何设置?
java.sql.BatchUpdateException: Cannot add or update a child row: a foreign key constraint fails (`tssa`.`business_cooperationbusinessproduct`, CONSTRAINT `FKF8FBA933913273A2` FOREIGN KEY (`businessProductId`) REFERENCES `business_cooperationbusiness` (`cooperId`))
最佳答案
  • 五星知识达人网友:躲不过心动
  • 2021-02-19 19:20
在你的实体映射文件,many-to-one 标签中加一个属性cascade为none
全部回答
  • 1楼网友:野味小生
  • 2021-02-19 20:25
@manytoone(cascade = { cascadetype.persist,cascadetype.merge}) 它始终不进行更新和新增操作, @manytoone(cascade = { cascadetype.all})就可以更新和新增,删除, 官方解释如下: cascadetype.persist:级联新增 cascadetype.merge:级联合并 cascadetype.refresh:级联刷新 cascadetype.remove:级联删除 cascadetype.all:以上四种都是
  • 2楼网友:一把行者刀
  • 2021-02-19 20:10
@ManyToOne() @Cascade(value={CascadeType.SAVE_UPDATE}) @JoinColumn(name = "ID") 改成自己需要的级联操作即可
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯