两种方法实现,1、把关联表的数据全删除了重新添加,代码如下
2、根据id判断,如果相等不更新,如果不等更新。
@Override
@Transactional(rollbackFor=Exception.class)
public WShare fixEdit(WShare tempVo) throws ChecksException {
tempVo.hqlDelUpdate("delete from WShareTag where WShare.id='"+tempVo.getId()+"'");
if(tempVo.getMemo()!=null||tempVo.getMemo()!=""){
String []tags = tempVo.getMemo().split(";");
for (String tag : tags) {
WShareTag wst = (WShareTag) SpringContextUtil.getBean("WShareTag");
WTag aa = (WTag) tempVo.hqlQueryOne("from WTag where name='"+tag+"'");
if(aa!=null) {
wst.setWTag(aa);
}else{
WTag wt = (WTag) SpringContextUtil.getBean("WTag");
wt.setName(tag).setState(1);
wt.add();
wst.setWTag(wt);
}
wst.setWShare(tempVo).setState(1);
wst.add();
}
}
tempVo.hqlDelUpdate(tempVo.editSQLmaker(),tempVo);
return tempVo;
}2、根据id判断,如果相等不更新,如果不等更新。

本文介绍了两种更新数据库中关联表数据的方法:一是先删除再重新添加所有相关联数据;二是根据ID判断是否需要更新现有记录。
2365

被折叠的 条评论
为什么被折叠?



