当前位置: 首页> 健康> 美食 > Spring Data Jpa 原生SQL联表查询返回自定义DTO

Spring Data Jpa 原生SQL联表查询返回自定义DTO

时间:2025/7/8 23:11:06来源:https://blog.csdn.net/qq_42947952/article/details/140499203 浏览次数:0次

Spring Data Jpa 原生SQL联表查询返回自定义DTO

方案一:返回Map

这个就不说了

方案二:实体定义成接口的形式

该方式最直观!!推荐!!!

注意:XxxDto是interface接口,而不是class实体类

ps: 这里返回的是JPA生成的XxxDto的代理类,是可以直接json序列化成json字符串的。

接口定义

// 注意:******注意命名要规范,get+属性名+(),FormDto.getFormId()代表获取到formId属性值******
public interface FormDto {Integer getFormId();String getFormName();String getFormType();}

查询接口

 
public interface FormRepository extends JpaRepository<FormDO, Long> {// 这里可以用HQL查询,也可以用原生SQL查询,FormDto是一个接口,这里返回的是JPA生成的FormDto的代理类// 查寻出的字段命名要规范,否则与接口中的get方法对应不上// @Query(value = "select id as formId,name as formName,type as formType from form where name= ?1", nativeQuery = true)@Query(value = "select id as formId,name as formName,type as formType from form where name= ?1")List<FormDto> findByFormName(String name);
}

查询结果序列化之后:
在这里插入图片描述

关键字:Spring Data Jpa 原生SQL联表查询返回自定义DTO

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: