关闭

数据库对表修改的同时修改关联中间表

标签: service数据库
126人阅读 评论(0) 收藏 举报
分类:
两种方法实现,1、把关联表的数据全删除了重新添加,代码如下
	@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判断,如果相等不更新,如果不等更新。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4822次
    • 积分:481
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类