Я хотел бы заполнить класс объекта передачи данных Результатом собственного запроса. Но я получаю следующую ошибку:
nested exception is org.hibernate.MappingException: Unknown entity: br.com.cpb.gsa.dto.UserDTO
Это мой класс DTO
package br.com.cpb.gsa.dto;
import java.io.Serializable;
public class UserDTO implements Serializable {
private static final long serialVersionUID = 4406975982782060793L;
private Integer id_Usuario;
private String login;
public UserDTO(Integer id_Usuario, String login) {
this.id_Usuario = id_Usuario;
this.login = login;
}
public Integer getId_Usuario() {
return id_Usuario;
}
public void setId_Usuario(Integer id_Usuario) {
this.id_Usuario = id_Usuario;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
}
Это мой собственный запрос. это простой запрос:
import br.com.cpb.gsa.dto.UserDTO;
@Repository
public class UserRepositoryImpl implements UserCustomRepository {
@PersistenceContext
private EntityManager em;
@Override
public UserDTO findById(Integer id) {
String query = " select au.id_Usuario, "
+ " au.login"
+ " from Adm_Usuario au"
+ " where au.id_Usuario = 1";
Query natQuery = em.createNativeQuery(query, UserDTO.class);
UserDTO userDTO = (UserDTO) natQuery.getSingleResult();
return userDTO;
}
}
Я использую Spring Data JPA, но я знаю, что в hibernate существует метод setResultTransformer, но я не могу найти что-то похожее в JPA.
В моем случае мне нужно использовать собственный запрос, потому что в других запросах будут использоваться функции табличных значений.