hibernate @many-to-one取消级联动作 5
在使用hibernate做数据库插入时出现以下错误,上网查过原因是由于many-to-one插入数据库时会级联插入到关联表,我想不使用级联动作应该如何设置?java.sq...
在使用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`)) 展开
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`)) 展开
3个回答
展开全部
@ManyToOne()
@Cascade(value={CascadeType.SAVE_UPDATE})
@JoinColumn(name
= "ID")
改成自己需要的级联操作即可
@Cascade(value={CascadeType.SAVE_UPDATE})
@JoinColumn(name
= "ID")
改成自己需要的级联操作即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你的实体映射文件,many-to-one 标签中加一个属性cascade为none
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
xxx.hbm.xml 中 cascade设置为none 关闭级联操作
追问
我用的是注解方式,请问注解方式怎么设置?
追答
@ManyToOne(cascade = { CascadeType.PERSIST,CascadeType.MERGE})
它始终不进行更新和新增操作,
@ManyToOne(cascade =
{ CascadeType.ALL})就可以更新和新增,删除,
官方解释如下:
CascadeType.PERSIST:级联新增
CascadeType.MERGE:级联合并
CascadeType.REFRESH:级联刷新
CascadeType.REMOVE:级联删除
CascadeType.ALL:以上四种都是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询