Am using Spring Data JPA with spring boot application. I have an entity class with few properties. Consider I have 10 properties associated with the entity User
and I want to retrieve only few of them (username,password,firstname,lastname,email).
So I have wrote a query to get the 5 fields only, but the method does not return entity object, instead it returns a plain object.
How can I cast the query result to entity in Spring Data JPA ?
@Query("select userName,password,firstName,lastName,email from User")
public List<User> getUsers();
You have to create a result class and then change the query a bit:
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;
}
}
and query:
@Query("select new com.example.ResultClass(userName,password
,firstName,lastName,email) from User")
public List<ResultClass> getUsers();
The order of selection must match the constructor ordering.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With