现有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查询指定列,并返回实体(改)的更多相关文章

  1. spring data jpa查询部分字段、多余附加字段

    spring data jpa查询部分字段 第一种方法:使用 model 查询时转化 首先建立一个 model ,写上自己想要查询的字段,然后写上构造函数,这步很重要,因为spring jpa 转化时 ...

  2. Spring Data JPA 查询结果返回至自定义实体

    本人在实际工作中使用Spring Data Jpa框架时,一般查询结果只返回对应的Entity实体.但有时根据实际业务,需要进行一些较复杂的查询,比较棘手.虽然在框架上我们可以使用@Query注解执行 ...

  3. spring data jpa 查询部分字段列名无效问题

    spring data jpa原生sql查询问题,我只要表其中的几个字段的值,本以为写个原生sql,拿实体类对象去接没问题 结果列名无效,测试了一下,把返回值类型改成List<Object> ...

  4. spring boot系列(五)spring boot 配置spring data jpa (查询方法)

    接着上面spring boot系列(四)spring boot 配置spring data jpa 保存修改方法继续做查询的测试: 1 创建UserInfo实体类,代码和https://www.cnb ...

  5. 在Spring Data JPA 中使用Update Query更新实体类

    对于 Spring Data JPA 使用的时间不长,只有两年时间.但是踩过坑的却不少. 使用下列代码 @Modifying @Query("update User u set u.firs ...

  6. spring data jpa 查询自定义字段,转换为自定义实体

    目标:查询数据库中的字段,然后转换成 JSON 格式的数据,返回前台. 环境:idea 2016.3.4, jdk 1.8, mysql 5.6, spring-boot 1.5.2 背景:首先建立 ...

  7. Spring Data Jpa 查询返回自定义对象

    转载请注明出处:http://www.wangyongkui.com/java-jpa-query. 今天使用Jpa遇到一个问题,发现查询多个字段时返回对象不能自动转换成自定义对象.代码如下: //U ...

  8. Spring Data MongoDB 查询指定字段

    DBObject dbObject = new BasicDBObject(); //dbObject.put("name", "zhangsan"); //查 ...

  9. spring data jpa 查询No property ... found for...Did you mean '...'?

    原文地址:https://blog.csdn.net/earthhour/article/details/79271816 实体类字段定义: private String sku_no; dao中接口 ...

随机推荐

  1. 总体<导学>

    有一些奇奇怪怪的数据集 波士顿房价数据集 使用sklearn.datasers.load_boston 加载相关的数据集 重要参数 return_X_y 表示是否返回target (价格) 默认为Fa ...

  2. JavaScript--事件委托--冒泡

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Cannot read property 'appendChild' of null

    1.js报错解决办法 这个一般是你获取的节点不存在引起的. 可能出现这种情况的原因:你获取这节点时,节点还没加载,例如:你的JS写在head里面,取body里面的某一节点,这时候是取不到的.这种情况的 ...

  4. 【python小随笔】单例模式设计(易懂版)

    1:单例模式原理 大道理:希望在系统中某个对象只能存在一个,单例模式是最好的解决方案,单例模式是一种常见的软件设置模式,在它的核心结构中只包含一个被称为单例类的特殊类,通过单例模式可以保证系统中的一个 ...

  5. bzoj1060 时态同步

    Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3….进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板 ...

  6. compass与css sprite(雪碧图)

    什么是css sprite? css sprite,中文叫雪碧图,也有人喊CSS精灵,就是一种背景拼合的技术,然后通过background-position来显示雪碧图中需要显示的图像. MDN相关链 ...

  7. LeedCode OJ -- String to Integer (atoi)

    点击打开题目链接 题目意思就是自己实现一个atoi函数,也就是将字符串转换成int型. 关于INT_MAX和INT_MIN, 只是在<limits.h>文件中定义的宏..分别是int型可以 ...

  8. python 并发之进程

    一.什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实 ...

  9. sql函数的使用——转换函数

    转换函数用于将数据类型从一种转为另外一种,在某些情况下,oracle server允许值的数据类型和实际的不一样,这时oracle server会隐含的转化数据类型,比如: create table ...

  10. qt .pro文件和cmakelists.txt配置第三方库

    .pro文件引用第三方库文件和头文件路径 1.库文件(LIBS添加的是共享库文件,-L添加目录,-l指定共享库名称) LIBS += -L/usr/local/lib -lmath LIBS的使用就是 ...