最近工作中使用到 Spring Data JPA 做持久层框架,个人感觉这个框架在做常规的查询时非常方便,在做定制化的高级查询时不够灵活。尤其是处理结果集的映射没有 MyBatis 方便。本文概要:1、spring-data-jpa 提供的 @Query 注解可以执行原生 SQL,其返回类型为 List<Object[]>2、优雅地将 List<Object[]> 映射到我们自定义的实体中3、使用到的知识点:自定义注解、反射直接上代码说明: 此处的案例比较简单,只是为了演示此方案,复杂的查询使用方法一样。实体类@Entity public class User { @Id private Integer id; private String username; private String name; private Integer age; private BigDecimal balance; // getter、setter... }VO 对象import cn.huangxulin.jpa.util