【发布时间】:2019-10-10 17:56:00
【问题描述】:
我想用原生查询的结果填充数据传输对象类。但我收到以下错误:
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 中找不到类似的东西。
就我而言,我需要使用本机查询,因为在其他查询中将使用表值函数。
【问题讨论】:
标签: java sql-server jpa spring-data-jpa