在使用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`))
hibernate @many-to-one取消级联动作
答案:3 悬赏:60 手机版
解决时间 2021-02-20 13:03
- 提问者网友:饥饿走向夜
- 2021-02-19 18:18
最佳答案
- 五星知识达人网友:躲不过心动
- 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")
改成自己需要的级联操作即可
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯