JPA 如何修改 联表查询返回的Map

这篇具有很好参考价值的文章主要介绍了JPA 如何修改 联表查询返回的Map。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

记录解决两个问题:

1、JPA 中联表查询会返回一个不可修改的集合Map 如果要修改就会报 :A TupleBackedMap cannot be modified.

解决方法:

不直接修改这个 Map。如果你需要对 Map 进行修改操作,你可以创建一个新的 Map,然后将原 Map 的内容复制到新 Map 中。

 第二个问题就是如何创建一个空的Page<Map> 把数据拷贝进去了

2、如何创建一个空 Page<Map> 对象 

参数描述:   

	// Pageable pageRequest = PageRequest.of(当前页码, 每页条数 );
	Pageable pageRequest = PageRequest.of(recordDto.getPage(), recordDto.getPageSize() );
		
		  
	// Page<Map> pm = new PageImpl<>(对象列表, pageRequest , 总条数);
	Page<Map> pm = new PageImpl<>(newList, pageRequest ,  findRecordList.getTotalElements());

创建新对象并赋值伪代码如下:文章来源地址https://www.toymoban.com/news/detail-859605.html

Pageable pageRequest = PageRequest.of(recordDto.getPage(), recordDto.getPageSize() );
	
Page<Map> findRecordList = recordRepository.findRecordList(recordDto.getName(), recordDto.getDateStart(), recordDto.getDateEnd(), pageRequest) ;
		  
	List<Map> newList =new ArrayList<Map>();
	
	List<Map> list = findRecordList.getContent();
	for (Map map : list) {
		  Map  newMap1 = new HashMap(map);
		  //添加新的属性
		  newMap1.put("flag", 1);
	
	}
	 Page<Map> pm = new PageImpl<>(newList, pageRequest , findRecordList.getTotalElements());

到了这里,关于JPA 如何修改 联表查询返回的Map的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mysql 复杂查询丨联表查询

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 联表查询(Join)是一种在数据库中使用多个表进行关联查询的操作。它通过使用 JOIN 将多个表连接在一起,并根据关联条件从这些表中检索数据 INNER JOIN(内连接) 内连接(Inner Join)是一种在联表查询中使用的

    2024年02月13日
    浏览(27)
  • SqlSugar 5.联表查询

    用到的几个实体类 使用 CodeFirst 创建表 1.Join用法 1.1 语法糖1 优点:好理解,五个表以内的联表比较推荐 1.1.1 表和表的连接 若将 .Select((o, cus) = new ViewOrder { Id = o.Id, CustomName =cus.Name }) 修改成.Select((o, cus) = new ViewOrder()) 那就是查询所有字段 1.1.2 表和Queryable的连接 (主表左连了一

    2023年04月08日
    浏览(25)
  • Django 联表查询操作

    在日常的开发中,常常需要对多张数据表同时进行数据查询。多表查询需要在数据表之间建立表关系才能够实现。一对多或一对一的表关系是通过外键实现关联的,而多表查询分为正向查询和反向查询。 以歌手表、专辑表、单曲表查询为例子。 歌手与专辑为一对多关系;歌

    2024年02月07日
    浏览(29)
  • 【最佳实践】gorm 联表查询 joins

    内容 使用gorm的一些技巧、经验 常规使用示例 如何在一对一、一对多、多对一的关系下使用gorm进行联表查询 其他gorm使用和进阶用法参考官方文档 https://gorm.io/zh_CN/docs/index.html 优雅表迁移注册 表自动迁移方式,常见的方式如下: 这种显示调用方式的缺点是每次新建表结构都

    2024年02月06日
    浏览(30)
  • MySQL 联表查询重复数据并删除(子查询删除记录) SQL优化

    数据库表介绍: table_a :主表(小表,表数据不可重复) table_b :流水表(大表,记录审核流水数据) 注:两表表结构大致一致,流水表增加一个审核状态的字段 业务逻辑: 主表保存唯一数据,流水表记录审核流水数据,用于后续展示,并在审核成功后插入主表,在插入流

    2023年04月08日
    浏览(48)
  • 「 MySQL 入门」使用联表查询代替子查询的原因(附案例分析)

    参考鸣谢 MySQL Documentation PostgreSQL Documentation SQL Server Documentation 在关系型数据库中,查询是一项常见而重要的操作。在实际应用中,我们经常会遇到需要在多个表之间进行查询和关联的情况。传统的子查询是一种常见的解决方案,但随着数据量和复杂性的增加,使用联表查询

    2024年02月12日
    浏览(28)
  • Mybatis的三种映射关系以及联表查询

    目录 一、概念 二、一对一 1、配置generatorConfig.xml 2、Vo包的编写 3、xml的sql编写 4、编写对应接口及实现类 5、测试 三、一对多 1、Vo包类的编写 2、xml的sql编写 3、编写对应接口及实现类 4、测试 四、多对多 1、Vo类 2、xml的sql配置 3、接口及接口实现类 4、测试 1、MyBatis中表之间

    2024年02月10日
    浏览(34)
  • SQL联表查询LEFT JOIN 数据去重复

    使用left join联表查询时,如果table1中的一条记录对应了table2的多条记录,则会重复查出id相同的多条记录。 解决方法: 将查询结果作为中间表,使用group by 进行去重 如果想对group by后的数据计算count,可以将查询结果作为中间表再计算count

    2024年02月11日
    浏览(33)
  • QueryWrapper构建复杂的SQL-循环添加条件、联表查询

    QueryWrapper是MyBatis-Plus提供的一个查询构建器,用于构建复杂的SQL查询语句。QueryWrapper可以用于添加条件、排序、分页等操作。 循环添加条件 在QueryWrapper中,可以使用andWhere和orWhere方法来添加多个条件,从而实现循环添加条件。 下面是一个示例代码,演示如何使用QueryWrapper循

    2024年02月16日
    浏览(35)
  • 联表查询的时候外键id是字符串

    2024年02月09日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包