为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用CrudRepository将修改后的数据附加到数据库中,而不是替换SpringBoot

如何使用CrudRepository将修改后的数据附加到数据库中,而不是替换SpringBoot

慕哥6287543 2019-05-04 14:15:31
我使用CrudRepository对象为我的实体类获取对象列表。我想复制数据库中的列表,并为修改的列表中的每个Object复制一些字段。如何使用相同的存储库对象实现它?示例代码如下。它修改了Database中的现有行。我希望它将修改作为新行追加到数据库中。@Autowired TestRepository testRepository;List<SampleClass> sampleList = testRepository.findAllBySomeId(id);sampleList.forEach(i -> i.setSomeValue(1234));testRepository.saveAll(testRepository);我需要制作单独的Repository对象吗?是否可以使用@Autowired注释相同的Repository对象?
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

autowire EntityManager,detach实体并将id设置为null

sampleList.forEach(i -> {
   entityManager.detach(i);
   i.setId(null);
   i.setSomeValue(1234);});

然后使用相同的存储库保存列表


查看完整回答
反对 回复 2019-05-15
  • 2 回答
  • 0 关注
  • 1314 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号