【发布时间】:2018-03-20 07:14:38
【问题描述】:
我有列 id、mname、firstname、lastname、age(5 列)的用户表 使用 spring data jpa 我只需要获取 id、firstname、age(只有 3 列)
userentity 在 user.java 之下
@Entity
@Table(name = "user")
public class User implements Serializable {
private static final long serialVersionUID = -3009157732242241606L;
@Id
private long id;
@Column(name = "mname")
private String mName;
@Column(name = "firstname")
private String firstName;
@Column(name = "firstname")
private String firstName;
@Column(name = "lastname")
private String lastName;
@Column(name="age")
private int age;
//constructor with fileds
user2.java contains the fileds
private Long id;
private String firstname;
private int age;
//getter and setter
UserRepository.java
public interface UserRepository extends CrudRepository<User, Long> {
@Query(value="SELECT usr.id as id,usr.firstname as firstName, usr.age as age FROM user usr WHERE usr.id=?1", nativeQuery=true)
List<User2> getUserDetailsByUserId(Long id);
}
在 colsole 中出现以下错误:
org.springframework.core.convert.ConverterNotFoundException: 否 发现能够从类型 [java.math.BigInteger] 转换的转换器 输入 [com.user.entity.User2]
检查代码时出现错误:
无法从类型 [java.lang.Object[]] 转换为类型 [com.user.entity.User2] 为值 '{403, firstnnnnnn, 26}';
有没有办法将值映射到 user2(非表实体)?
【问题讨论】:
标签: java spring-data-jpa