我正在使用Spring和spring引导应用程序。我有一个实体类,没有几个属性。假设我有10个与实体User
相关的属性,我只想检索其中的几个属性(用户名、密码、名、姓、电子邮件)。
因此,我编写了一个查询,只获取这5个字段,但是该方法不返回实体对象,而是返回一个普通的对象。
如何将查询结果转换为中的实体?
@Query("select userName,password,firstName,lastName,email from User")
public List<User> getUsers();
发布于 2017-11-24 10:40:50
您必须创建一个结果类,然后稍微更改查询:
package com.example;
public class ResultClass{
String userName,password,firstName,lastName,email;
public ResultClass(String userName, String password
, String firstName, String lastName, String email){
// set fields;
}
}
并询问:
@Query("select new com.example.ResultClass(userName,password
,firstName,lastName,email) from User")
public List<ResultClass> getUsers();
选择顺序必须与构造函数排序相匹配。
发布于 2020-02-10 05:44:34
如果你的目标类不是实体类,你需要解析,请参考下面的答案。
https://stackoverflow.com/questions/47471384
复制相似问题