使用jpa 的 Repository形式:
city表 和 city_area表
1、
动作:
先cityAreaRepository.fineOne(xxx)(或者findByNameLikeAndStatus等);找出记录,然后修改name字段
然后创建一个新对象CityEntity xxx,通过cityRepository.save(xxx)保存
结果:
发现cityRepository的保存成功,同时cityAreaRepository查看出来被修改的字段,也更新到数据库了。
2、
动作:
先cityAreaRepository.fineOne(xxx)(或者findByNameLikeAndStatus等);找出记录,然后修改name字段
然后修改city表的记录:cityRepository.updateByName(xxxx);
结果:
发现cityRepository的修改成功,同时cityAreaRepository查看出来被修改的字段,也更新到数据库了。
发现hibernate更新查找插入或者其他一些操作,有缓存,如果直接对持久化的对象进行修改,那么在同一个请求中,如果有导致hibernate 的session产生flush(save,update,不管是对哪一张表进行操作)的操作的话,那么会把修改过的对象都更新到数据库中。