Spring Data Jpa 查询@Query返回自定义DTO

Demo

dto

package com.demo.user.dto;

public class UserInfoResponse {

    private String userId;
    private String username;
    private String email;

    public UserInfoResponse(){}
 
    //重点注意!用于query返回的时候实例化
    public UserInfoResponse(String userId,String username,String email){
        this.userId = userId;
        this.username = username;
        this.email = email;
    }

    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
}

repository

@Repository
public interface UserRepository extends JpaRepository {

     /**
     * 查询所有用户
     * @return UserInfoResponse
     */
    @Query("SELECT new com.demo.user.dto.UserInfoResponse(userId,username,email) FROM User")
    List queryAllUsers();

}

你可能感兴趣的:(Spring Data Jpa 查询@Query返回自定义DTO)