springboot jpa中返回自定义对象

JPA自定义返回对象 JPA自定义返回对象 方法一:使用@Query @Query(value = "select new com.test.demo.entity.SearchResult(c.phone,r.name,sum(c.money) as sum) from Costs c, Rates r where c.phone =?1 GROUP BY r.name",nativeQuery=true) 方法二:使用QueryDSL实现 /** * QueryDSL配置类 */ @Configur 阅读详情

项目中使用springboot jpa进行持久层操作,大部分的操作不用手写sql。最近需要根据部门查询所有的用户,但是只需要用户id和用户userName两个字段,并不需要所有的字段。

一. 一般字段返回

1.首先需要自定义vo来接收字段,这里注意需要使用 @JsonProperty将属性与数据库字段对应上,并需要重写构造方法,不然会报错

@Data
public class UserDto {

    /**
     * 用户id
     */
    @JsonProperty("id")
    private Long userId;

    /**
     * 真实姓名
     */
    @JsonProperty("real_name")
    private String realName;

    public UserDto(Long userId, String realName) {
        this.userId = userId;
        this.realName = realName;
    }
}

2.jpaRespority中查询代码

 @Query(value = "select new com.common.dto.UserDto("
                    + "s.id,s.realName) FROM User s WHERE "
                    + "s.departmentCode = ?1 AND s.locked = false AND s.del = false")
    List<UserDto> findDepartment(String departmentCode);

其中User 为用户表实体,com.common.dto为UserDto的路径

二、sum,count等字段返回

这种字段没有对应的列明,在dto中无法定义JsonProperty,这时可以不指定列名。具体如下:
1.接收数据的dto格式及参数如下:

public class ExperimenterDetectionRecordDataDto {

    /**
     * 检测结果
     */
    private Long sumDetection;

    /**
     * 检测费用
     */
    private BigDecimal sumFee;

    public ExperimenterDetectionRecordDataDto(Long sumDetection, BigDecimal sumFee) {
        this.sumDetection = sumDetection;
        this.sumFee = sumFee;
    }

    public Long getSumDetection() {
        return sumDetection;
    }

    public BigDecimal getSumFee() {
        return sumFee;
    }

    public void setSumDetection(Long sumDetection) {
        this.sumDetection = sumDetection;
    }

    public void setSumFee(BigDecimal sumFee) {
        this.sumFee = sumFee;
    }

    public ExperimenterDetectionRecordDataDto() {
    }
}

2.jpaRepository中的sql

@Query(value = "SELECT new com.XXX.detection.model.entrust.ExperimenterDetectionRecordDataDto(SUM(detectionNumber), SUM(totalFee)) FROM ExperimenterDetectionRecord WHERE testerId IN ?1 AND del = FALSE AND completed = TRUE AND completeExperimentDate BETWEEN ?2 AND ?3 GROUP BY testerId")
    List<ExperimenterDetectionRecordDataDto> findDetectionRecordAndTime(List<String> testId, Date startTime, Date endTime);

如果是有的是有字段,有的没有,也可以使用Object来接收,此时不需要定义dto,直接接收,jpaRepository代码如下:

@Query(value = "SELECT testerId, SUM(detectionNumber), SUM(totalFee) FROM ExperimenterDetectionRecord WHERE testerId IN ?1 AND del = FALSE AND completed = TRUE AND completeExperimentDate BETWEEN ?2 AND ?3 GROUP BY testerId")
    List<Object> findDetectionRecordAndTime(List<String> testId, Date startTime, Date endTime);
手把手教你用Excel自动化处理G14大额风险暴露报表(含211版模板) 本文针对G14大额风险暴露报表(含211版)手工填报效率低、易出错的核心痛点,提供了一套基于Excel VBA的完整自动化解决方案。文章详细讲解了如何构建从数据采集、清洗、关联客户识别、风险暴露计算到自动化校验与归档的完整工作流,并附有可操作的代码示例,旨在帮助银行风控人员大幅提升报表处理效率与准确性。 阅读详情

相关推荐

从个体到群体:Cartool实战静息态EEG微状态聚类全解析

本文详细解析了使用Cartool软件进行静息态EEG微状态聚类的完整实战流程。从个体水平聚类到群体模板提取,再到指标量化,文章深入探讨了k-means算法的应用、GFP峰值数据的使用技巧以及关键参数设置,为脑电信号处理研究者提供了从数据准备到结果解读的全方位指南。

weixin_29062671的博客 287

Spring Data Jpa返回自定义对象的三种方法

本文针对不同使用场景介绍Spring Data Jpa返回自定义对象的三种方法,按需食用

我是坏人哦 1万+

【Telephony】APN配置及加载流程&项目实践(AOSP)

学习APN关键是学会明白apns-conf.xml文件各个参数的意思,然后熟悉TelephonyProvider是如何读取文件创建数据库的,譬如数据库表的约束、文件的读写顺序等,还有读取后的ApnSetting的二次定制以及显示(例如屏蔽xcap等)。虽然一般在项目中APN的需求很简单,就是按照客户提供的APN参数添加上配置,或者在显示屏蔽一些参数,但是项目维护的过程中APN的问题也是比较多的。

weixin_44513784的博客 5505

Spring Data Jpa框架自定义查询语句返回自定义实体的解决方案

在使用Spring Data Jpa框架时,根据业务需求我们通常需要进行复杂的数据库查询,并返回我们自定义的实体类,而在该框架下,目前仅仅支持返回与数据库映射进行持久化的POJO实体。虽然在框架上我们可以使用@Query注解执行我们自定义的sql语句,但是其返回值为List&lt;Object[]&gt; 类型,即多个Object数组的List集合。下面我们介绍一下关于在Spring Data J...

北辰之北灬的博客 5万+

14自由度汽车动力学模型

多体系统分解簧上质量刚体:包含车身主体,具有6个自由度(x/y/z平移 + 俯仰/侧倾/横摆旋转)四个簧下质量刚体:每个车轮独立建模,含垂直跳动(z向)和旋转(绕z轴)自由度总自由度:6(车身) + 4×2(车轮) = 14自由度。

chao189844的博客 1194

别再搞混了!Vue3里xgplayer播放FLV视频与FLV直播流,配置到底差在哪?

本文详细解析了在Vue3项目中使用xgplayer播放FLV视频与FLV直播流的配置差异,帮助开发者避免常见错误。通过对比点播与直播的核心协议差异、插件选择及配置参数,提供实战代码示例和性能优化技巧,确保流畅播放体验。特别针对直播流场景,深入讲解专属配置和问题排查方法。

weixin_28687331的博客 150

jpa查询返回自定义对象、返回指定VO、POJO

jpa查询返回自定义对象、返回指定VO、POJO,JPA查询前会做大量处理,还有线程通知的操作。若并发大,处理性能直线下降。但是jpa就因为做了大量处理,对多数据库兼容极好,操作方便。有时候你想查询某个表,不想要某个字段内容太长时;

凌康的博客 5294

uniapp(安卓苹果app端) - 微信小程序分享提示报错“由于不支持的分享类型无法分享到微信“,“由于应用和小程序未绑定在同意微信开放平台账号,无法分享到微信“解决办法,uniapp小程序分享失败

uni-app,安卓app,苹果app,手机app端,苹果ios,安卓Android,移动端app,分享,微信分享,微信朋友圈,微信好友,转发,vue2,vue3,App端调用手机的系统分享,微信小程序,分享功能,原生app分享小程序到微信,可分享到微信、朋友圈等,报错,uniapp分享报错由于不支持的分享类型无法分享到微信,未审核应用,uniApp安卓苹果app报错由于应用和小程序未绑定在同意微信开放平台账号,无法分享到微信,微信appid,已经配置了,还是报错,无法解决,一直提示,APP_ID错误,打包

✅ 精选推荐文章 5509

JPA返回自定义对象

JPA返回自定义对象

硅脂味咖啡的博客 2574

orin+96712接GMSL2相机调试经验

orin gmsl camera调试

乐于分享 4455

模型瘦身术:YOLOv5无损剪枝实战教程

本文介绍了一种YOLOv5模型的无损剪枝方法,通过"稀疏训练+结构化剪枝+微调"的流程,在不损失精度的前提下显著减小模型尺寸并提升推理速度。具体步骤包括:1)稀疏训练给参数排优先级;2)裁剪不重要通道;3)微调恢复精度;4)验证效果。实战部分详细展示了从环境搭建到剪枝实现的完整流程,并分析了剪枝后在边缘设备部署、实时检测等场景的优势。该方法可使YOLOv5s模型从14MB缩减至2-3MB,推理速度提升30%-50%,适用于资源受限设备的轻量化部署需求。

LXY_LOVE36的博客 104

springboot jpa 自定义返回对象

为什么80%的码农都做不了架构师?>>> ...

weixin_33859665的博客 3381

【100%通过率】华为OD机试真题 Java&Go 实现【微服务的集成测试】【2023 Q1 | 100分】

现在有n个容器服务,服务的启动可能有一定的依赖性(有些服务启动没有依赖),其次服务自身启动加载会消耗些时间。给你一个nxn 的二维矩阵 useTime,其中 useTime=10 表示服务i自身启动加载需要消耗10s,useTimeli[j]=1 表示服务i 启动依赖服务i 启动完成,useTimei[k]=0,表示服务i 启动不依赖服务 k其实 0

MISAYAONE的博客 1万+

jpa的批量修改_使用SpringBoot-JPA进行自定义保存及批量保存功能

说明SpringBoot版本:2.1.4.RELEASEjava版本:1.8文中所说JPA皆指spring-boot-starter-data-jpa使用JPA保存一个Student对象在JPA中保存一个对象,仅需要该对象,一个仓储即可。StudentDO实体类:@Getter@Setter@Entity@Table(name = "t_student")public class StudentD...

weixin_39662263的博客 734

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SpringBoot中JPA多表联合自定义查询@Query

SpringBoot中JPA多表联合自定义查询@Query 版权声明:本文为博主原创文章,转载请注明出处,谢谢。 其他相关文章见:个人博客站点:www.val1ant.xin SpringBoot中JPA多表联合自定义查询@Query 1. 实体类 2. 数据库操作类 1. 原生SQL查询 2. 默认的JPQL方法 3. 数据处理类 1. 实体类...

熊大的专栏 2万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

使用SpringBoot-JPA进行自定义的保存及批量保存

说明 SpringBoot版本:2.1.4.RELEASE java版本:1.8 文中所说JPA皆指spring-boot-starter-data-jpa 使用JPA保存一个Student对象 在JPA中保存一个对象,仅需要该对象,一个仓储即可。 StudentDO实体类: @Getter @Setter @Entity @Table(name = "t_student") public cla...

tjp632630770的博客 3562

springboot jpa 返回自定义非实体VO类

我们在使用Springboot JPA查询数据内容时,大多数是直接返回表对应的实体类,但是有时候我们需要增加或减少实体类的字段。即创建一个自定义返回类VO,使用JPA查询,repository接口中直接返回VO。

qq_39231899的博客 1737

springboot JPA返回指定数据类型、返回指定实体、返回某列、返回指定列

hibernate、jpa返回指定数据类型、返回指定实体、返回某列、返回指定列 hibernate中只选取某些列的写法 hibernate如何返回一个Map对象 以及List jpa返回指定数据类型的自定义结果 SpringBoot 使用JPA返回自定义类

凌康的博客 1350

springboot判断有没有库_Springboot 使用JPA @Query 注解 查询语句条件 有可能为空,Oracle数据库...

网上查了很多资料都是下面的方法,但是不适用于Oracle@Query(value = "select * from xxx where if(?1 !='',x1=?1,1=1) and if(?2 !='',x2=?2,1=1)" +"and if(?3 !='',x3=?3,1=1) ",nativeQuery = true)List find(String X1,String X2,Str...

weixin_35308269的博客 1259

springboot+jpa查询(拼接条件查询)

最近在学习springboot使用jpa操作数据库,总结一下。 Dao层创建与JavaBean对应的接口,继承JpaRepository&lt;K,E&gt;接口 @Repository public interface AccountDao extends JpaRepository&lt;Account,Integer&gt;{} //Account对应的是JavaBean实体类,Intege...

weixin_41698864的博客 1万+

第五章:使用QueryDSL与SpringDataJPA实现查询返回自定义对象

在我们实际项目开发中,往往会遇到一种多表关联查询并且仅需要返回多表内的几个字段最后组合成一个集合或者实体。这种情况在传统的查询中我们无法控制查询的字段,只能全部查询出后再做出分离,这种也是我们最不愿意看到的处理方式,这种方式会产生繁琐、复杂、效率低、代码阅读性差等等问题。QueryDSL为我们提供了一个返回自定义对象的工具类型,而Java8新特性Collection中stream方...

恒宇少年De成长之路 1152

关于spring jpa 多表关系查询时,自定义返回对象

比如在获取用户资料时,我们不想把密码等重要信息全部带出。那时,我们就要用到jpa query 返回指定字段。 我要在网上查找了下都是比较基础的单表查询。好了,如何写呢?   例如,下面的我们会将user的所有属性都会带出来,  @Query("SELECT u FROM BaseUser u JOIN u.roles roles WHERE roles.roleCode = :roleC...

记录工作学习轨迹 143

SpringBoot集成jpa 一篇就够了 超详细

SpringBoot集成jpa 网上有很对jpa的介绍,但是都不是很全,这边根据公司的实际使用情况进行的总结。 JPA、Hibernate、Spring data jpa之间的关系 主要参考https://my.oschina.net/u/3080373/blog/1828589 大家可以读一下这篇文章 什么是JPA? 全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。 为我们提供了: 1)ORM映射元数据:JPA支持XML

cmx1060220219的博客 8万+

springboot +jpa 返回自定义类型

springboot +jpa 返回自定义类型 首先实体类: @Table(name = "chart_type") @Data @Builder @NoArgsConstructor @AllArgsConstructor @ToString public class ChartTypeEntity { @Id private String code; private String name; @Transient private Integer count;

licux的博客 2348

【Springboot系列】SpringBoot整合Jpa

Spring Boot是一种快速开发框架,它简化了Java应用程序的开发过程。而Jpa(Java Persistence API)是Java持久化规范的一种实现,它提供了一种方便的方式来访问和操作数据库。将Spring Boot与Jpa整合可以更加方便地进行数据库操作,提高开发效率。本文将介绍如何使用Spring Boot整合Jpa,帮助读者快速上手并应用于实际项目中。Jpa(Java Persistence API)是Java持久化规范的一种实现,它提供了一种方便的方式来访问和操作数据库。

Venus's Blog 1万+

Springboot Jpa自定义查询的结果集

如果要自定义查询的结果集有3种方法: 使用List&amp;lt;Object[]&amp;gt;来接收结果,只支持原生sql查询。 使用自定义对象来接收结果,支持JPA,JPQL查询。 使用自定义的接口来映射结果,支持JPA,JPQL,原生sql查询。 官网文档链接 https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#pro...

miskss的博客 8208

Springboot JPA使用distinct返回对象

package com.frank.jpaBatchSave.repository; import com.frank.jpaBatchSave.entity.Person; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.stereotype.Rep.

小石潭记丶 8603
上一篇: windows中查看端口占用情况并关闭对应进程
下一篇: 使用springcloud-fegin调用接口时出现Read timed out
蓝色格子
博客等级 码龄9年 129粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值