簡體   English   中英

Spring Data JPA - 如何將查詢結果轉換為實體類

[英]Spring Data JPA - How to convert Query result to entity class

正在將 Spring Data JPA 與 spring boot 應用程序一起使用。 我有一個屬性很少的實體類。 考慮到我有 10 個與實體User關聯的屬性,我只想檢索其中的幾個(用戶名、密碼、名字、姓氏、電子郵件)。

所以我寫了一個查詢來只獲取 5 個字段,但該方法不返回實體對象,而是返回一個普通對象。

如何將查詢結果轉換為 Spring Data JPA 中的實體?

@Query("select userName,password,firstName,lastName,email from User")
public List<User> getUsers();

您必須創建一個結果類,然后稍微更改查詢:

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();

選擇的順序必須與構造函數的順序相匹配。

如果您的 Target 類不是實體類並且您需要解析,請參考以下答案..

回答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM