如何解决批量更新 springboot jpa
我需要一次更新超过 1000-2000 笔交易的单列(状态)。要更新的值相同,例如所有行的“已处理”。我不想迭代我的列表并更新,而是在 jpa 本身中寻找批量更新。我还想避免显式使用实体管理器。
解决方法
使用标准的 Spring-boot JPA 可以使用类似的方法:
return new Promise(resolve => {
this.infos.map(info => {
info.members.map(member => {
member.contacts.map(contact => {
dataSource.push({
contact,member
});
});
});
});
this.dataSource = new MatTableDataSource(dataSource);
resolve();
});
测试代码:
public interface WidgetRepository extends CrudRepository<Widget,Long> {
@Override
List<Widget> findAll();
@Modifying(clearAutomatically = true,flushAutomatically = true)
@Query("update Widget w set w.status = :status where w in :widgets")
void setStatus(@Param("status") String status,@Param("widgets") List widgets);
}
它应该在一个事务中完成所有更新。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。