Spring Data JPA查询指定列,并返回实体(改)
现有PostEntiy实力,包含各种属性,如:
/**
* @Auther: DingShuo
* @Date: 2018/7/18 11:09
* @Description:
*/
@Entity
public class PostEntity {
@Id
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
@GeneratedValue(generator = "system-uuid")
String id;
@Column(nullable = false)
String title;
@Column(nullable = false,columnDefinition="TIMESTAMP")
@Temporal(TemporalType.TIMESTAMP)
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
Date createTM;
@Lob
@Column(columnDefinition="TEXT")
String postContent;
//余下略
}
想只查询标题title和时间createTM,按照常规用法应该返回的是List<Object[]>,如
**
* @Auther: DingShuo
* @Date: 2018/7/18 11:57
* @Description:
*/
@Repository
public interface PostEntityRepo extends JpaRepository<PostEntity,String> {
@Query(value = "select p.title,p.createTM from PostEntity p")
List<Object[]> test();
}
但是这样还是重新遍历再取值,现在想实现如Mybatis里面的查询resultmapper,该怎么办?
先创建一个查询结果的实体,如
/**
* @Auther: DingShuo
* @Date: 2018/8/14 19:02
* @Description:
*/
public class TestDTO {
String title;
Date createTM;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Date getCreateTM() {
return createTM;
}
public void setCreateTM(Date createTM) {
this.createTM = createTM;
}
public TestDTO(String title, Date createTM) {
this.title = title;
this.createTM = createTM;
}
}
在改动JPA的@Repository类中,修改查询方法,如
**
* @Auther: DingShuo
* @Date: 2018/7/18 11:57
* @Description:
*/
@Repository
public interface PostEntityRepo extends JpaRepository<PostEntity,String> {
@Query(value = "select new com.haramasu.daomin2.dto.TestDTO(p.title,p.createTM) from PostEntity p")
List<TestDTO> test();
}
此后查询结果就是被转为预设的结果实体了。
Spring Data JPA查询指定列,并返回实体(改)的更多相关文章
- spring data jpa查询部分字段、多余附加字段
spring data jpa查询部分字段 第一种方法:使用 model 查询时转化 首先建立一个 model ,写上自己想要查询的字段,然后写上构造函数,这步很重要,因为spring jpa 转化时 ...
- Spring Data JPA 查询结果返回至自定义实体
本人在实际工作中使用Spring Data Jpa框架时,一般查询结果只返回对应的Entity实体.但有时根据实际业务,需要进行一些较复杂的查询,比较棘手.虽然在框架上我们可以使用@Query注解执行 ...
- spring data jpa 查询部分字段列名无效问题
spring data jpa原生sql查询问题,我只要表其中的几个字段的值,本以为写个原生sql,拿实体类对象去接没问题 结果列名无效,测试了一下,把返回值类型改成List<Object> ...
- spring boot系列(五)spring boot 配置spring data jpa (查询方法)
接着上面spring boot系列(四)spring boot 配置spring data jpa 保存修改方法继续做查询的测试: 1 创建UserInfo实体类,代码和https://www.cnb ...
- 在Spring Data JPA 中使用Update Query更新实体类
对于 Spring Data JPA 使用的时间不长,只有两年时间.但是踩过坑的却不少. 使用下列代码 @Modifying @Query("update User u set u.firs ...
- spring data jpa 查询自定义字段,转换为自定义实体
目标:查询数据库中的字段,然后转换成 JSON 格式的数据,返回前台. 环境:idea 2016.3.4, jdk 1.8, mysql 5.6, spring-boot 1.5.2 背景:首先建立 ...
- Spring Data Jpa 查询返回自定义对象
转载请注明出处:http://www.wangyongkui.com/java-jpa-query. 今天使用Jpa遇到一个问题,发现查询多个字段时返回对象不能自动转换成自定义对象.代码如下: //U ...
- Spring Data MongoDB 查询指定字段
DBObject dbObject = new BasicDBObject(); //dbObject.put("name", "zhangsan"); //查 ...
- spring data jpa 查询No property ... found for...Did you mean '...'?
原文地址:https://blog.csdn.net/earthhour/article/details/79271816 实体类字段定义: private String sku_no; dao中接口 ...
随机推荐
- 总体<导学>
有一些奇奇怪怪的数据集 波士顿房价数据集 使用sklearn.datasers.load_boston 加载相关的数据集 重要参数 return_X_y 表示是否返回target (价格) 默认为Fa ...
- JavaScript--事件委托--冒泡
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Cannot read property 'appendChild' of null
1.js报错解决办法 这个一般是你获取的节点不存在引起的. 可能出现这种情况的原因:你获取这节点时,节点还没加载,例如:你的JS写在head里面,取body里面的某一节点,这时候是取不到的.这种情况的 ...
- 【python小随笔】单例模式设计(易懂版)
1:单例模式原理 大道理:希望在系统中某个对象只能存在一个,单例模式是最好的解决方案,单例模式是一种常见的软件设置模式,在它的核心结构中只包含一个被称为单例类的特殊类,通过单例模式可以保证系统中的一个 ...
- bzoj1060 时态同步
Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3….进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板 ...
- compass与css sprite(雪碧图)
什么是css sprite? css sprite,中文叫雪碧图,也有人喊CSS精灵,就是一种背景拼合的技术,然后通过background-position来显示雪碧图中需要显示的图像. MDN相关链 ...
- LeedCode OJ -- String to Integer (atoi)
点击打开题目链接 题目意思就是自己实现一个atoi函数,也就是将字符串转换成int型. 关于INT_MAX和INT_MIN, 只是在<limits.h>文件中定义的宏..分别是int型可以 ...
- python 并发之进程
一.什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实 ...
- sql函数的使用——转换函数
转换函数用于将数据类型从一种转为另外一种,在某些情况下,oracle server允许值的数据类型和实际的不一样,这时oracle server会隐含的转化数据类型,比如: create table ...
- qt .pro文件和cmakelists.txt配置第三方库
.pro文件引用第三方库文件和头文件路径 1.库文件(LIBS添加的是共享库文件,-L添加目录,-l指定共享库名称) LIBS += -L/usr/local/lib -lmath LIBS的使用就是 ...