java - 关于修改的实现逻辑

查看:172
本文介绍了java - 关于修改的实现逻辑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

关于修改的实现方法,因为现在的遇到的情况是,修改中可能包含增加原记录条数和减少原记录条数,因此没有什么好的解决方法,想到的是删除原来所有的记录,再把修改后的记录全部再重新插入,但是觉得这种方法不是很科学,也挺浪费资源的,不知道各位遇到这样的情况都是如何解决的。

重新编辑下我的问题:
目前有两张表,A 和 B ,A是主表,B 是A 的说明表,A和B 的记录是一对多的关系,例如,A表中有水果这一条,B表中会有香蕉,梨子,苹果等等条目。
目前做的功能是修改功能,提供包括A的记录和B的记录都是可以修改的,因此A表可能被修改,B表可能被修改,且,B表还可能被增加和减少,由于B表中的记录有比较多的属性,因此不能直接用某个关键词判断是否被修改过,我能想到的解决办法,就是根据前台传过来的数据,将B表中关联的某几条记录(比如水果关联的所有记录)全部删除,再重新再全部插入,保持最新。
但是觉得这种方法不是很合理,如果我提供了批量修改的功能,改动就很大,希望前辈提供点意见。

解决方案

  1. 你整个修改功能必须是要个transaction

  2. 在transaction基础上,你这样做是可以,但是不好,因为你只是修改,无需删已有记录

  3. 如果我来搞,会先把B读出来,然后和用户要修改的结果newB做集合的比较,交集保持不动,newB与B的差集插入,B与newB的差集删除。

这篇关于java - 关于修改的实现逻辑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆