宁波易企网做的网站,满山红网站建设,网站产品数据库,高端网站建设联系方式Spring Data Jpa 原生SQL联表查询返回自定义DTO
方案一#xff1a;返回Map
这个就不说了
方案二#xff1a;实体定义成接口的形式
该方式最直观#xff01;#xff01;推荐#xff01;#xff01;#xff01;
注意#xff1a;XxxDto是interface接口#xff0c;而…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 JpaRepositoryFormDO, 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)ListFormDto findByFormName(String name);
}查询结果序列化之后