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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wzg31796/article/details/49952651
两种方法实现,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判断,如果相等不更新,如果不等更新。
展开阅读全文

没有更多推荐了,返回首页