spring-data-jpa - 创建一个不是表spring jpa的实体
问题描述
我正在尝试使用 JPA 学习 spring boot。如何创建一个仅包含表中选定列的实体?我可以使用 jdbcTemplate 来做到这一点,但也可以使用 JPA 吗?
我尝试使用 SELECT NEW 但它在 em.createQuery 执行时给了我一个空指针异常错误。这是否意味着我没有结果?你能帮我找出我的错误吗?
这是我的代码:
EntityManager em;
String queryStr =
"SELECT NEW com.lms.app.user.User(c.id.username, c.password, c.emailadd) FROM TBUSER AS c";
TypedQuery<User> query =
em.createQuery(queryStr, User.class);
List<User> results = query.getResultList();
用户类
public class User {
private String name;
private String password;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
TBUSER 列如下所示:
username varchar (primary key)
password
emailadd
then more columns here..
解决方案
推荐阅读
- c# - 如何在 MainPage 中异步显示 ContentPage?
- node.js - 无法使用 vue CLI 3
- firebase - 未处理的异常:类型“布尔”不是“字符串”类型的子类型
- c++ - 编译器和exe之间的编译时间
- javascript - 在线显示 Word 文档
- javascript - 左上角的 SVG 动画模式
- css - 如何缩小 NuxtJs 中的内部 css?
- amazon-web-services - AWS Lambda /tmp python脚本导入模块错误
- javascript - 将数组从ajax调用传递给控制器,控制器中的数组为空
- android - 是否可以使用 AndroidX 导航将片段中的操作栏标题居中?