刚开始是这样写的

    @Query(value = "SELECT ll.user_id id ,u.catong_img catong_img,ll.locationId location_id,ll.address address,ll.latitude latitude,ll.longitude longitude,ll.update_time update_time,ll.user_id user_id FROM t_user as u left JOIN (SELECT l.id locationId, address,latitude,longitude,l.update_time,l.user_id FROM t_user_location AS l RIGHT JOIN ( SELECT user_id, max( update_time ) update_time FROM t_user_location GROUP BY user_id ) AS t ON l.user_id = t.user_id AND l.update_time = t.update_time ) ll ON u.zu_id =?1 and u.id = ll.user_id",nativeQuery = true)
@Transactional
List getAllUserLocationByZuId(long zuId);

发现返回的数据是这样的,设置的别名没有返回

[
[
1,
"吕志豪",
"",
3,
"3",
3,
3,
1513670259000,
1
],
[
2,
"胡勇",
"",
2,
"2",
2,
2,
1513151843000,
2
]
]

之后是这样写的,使用EntityManager

    @PersistenceContext
private EntityManager em;
@Override
public List getAllUserLocation(long zuId) {
return em.createNativeQuery("SELECT u.name name ,u.catong_img catongImg,ll.locationId locationId,ll.address address,ll.latitude latitude,ll.longitude longitude,ll.update_time updateTime,ll.user_id userId FROM t_user as u left JOIN (SELECT l.id locationId, address,latitude,longitude,l.update_time,l.user_id FROM t_user_location AS l RIGHT JOIN ( SELECT user_id, max( update_time ) update_time FROM t_user_location GROUP BY user_id ) AS t ON l.user_id = t.user_id AND l.update_time = t.update_time ) ll ON u.zu_id =1 and u.id = ll.user_id")
.unwrap(SQLQuery.class)
.setResultTransformer(
AliasToEntityMapResultTransformer.INSTANCE
)
.list();
}

结果返回

[
{
"catongImg": "",
"address": "3",
"locationId": 3,
"latitude": 3,
"name": "吕志豪",
"updateTime": 1513670259000,
"userId": 1,
"longitude": 3
},
{
"catongImg": "",
"address": "2",
"locationId": 2,
"latitude": 2,
"name": "胡勇",
"updateTime": 1513151843000,
"userId": 2,
"longitude": 2
}
]

原文地址:https://www.jianshu.com/p/e6bc577d03f0

使用spring jpa 时,利用nativeQuery,获取数据,无需新建实体,按照别名返回Json数据的更多相关文章

  1. SpringMVC返回JSON数据时日期格式化问题

    https://dannywei.iteye.com/blog/2022929 SpringMVC返回JSON数据时日期格式化问题 博客分类: Spring   在运用SpringMVC框架开发时,可 ...

  2. struts返回json数据

    想要在struts中返回json格式数据有两种办法. 1.使用servlet的输出流 实际上就是在struts中获取response对象的输出流.然后写入你要返回的json数据,本质和用servlet ...

  3. 【Struts2】SSH如何返回JSON数据

      在开发中我们经常遇到客户端和后台数据的交互,使用比较多的就是json格式了.在这里以简单的Demo总结两种ssh返回Json格式的数据 项目目录如下 主要是看 上图选择的部分 WebRoot里面就 ...

  4. springMVC返回json数据乱码问题及@RequestMapping 详解

    原文地址:https://blog.csdn.net/u010127245/article/details/51774074 一.@RequestMapping RequestMapping是一个用来 ...

  5. spring jpa 实体互相引用返回restful数据循环引用报错的问题

    spring jpa 实体互相引用返回restful数据循环引用报错的问题 Java实体里两个对象有关联关系,互相引用,比如,在一对多的关联关系里 Problem对象,引用了标签列表ProblemLa ...

  6. 【Spring学习笔记-MVC-4】SpringMVC返回Json数据-方式2

    <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...

  7. 2.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:

    转自:https://www.cnblogs.com/ssslinppp/p/4528892.html 个人认为,使用@ResponseBody方式来实现json数据的返回比较方便,推荐使用. 摘要 ...

  8. Spring MVC3返回JSON数据中文乱码问题解决(转)

    Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jack ...

  9. 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展

    <Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...

随机推荐

  1. 华为云DevCloud一枝独秀

    DevOps,是Development和Operations的组合词,是指一组过程.方法与系统的统称,用于促进开发.技术运营和质量保障部门之间的沟通.协作与整合.DevOps是一种重视“软件开发人员( ...

  2. #socket #socketserver

    #通过socket 实现简单的ssh#服务端 #服务端 import os import socket server = socket.socket() #server.bind(('0.0.0.0' ...

  3. CF 549B Looksery Party

    题面 解题思路 如果a数组全部>0,那么都不去即可.从这个角度出发,每次选出a[i]为0的,让它们去更新a数组,相当于拓补排序. 代码 #include<iostream> #inc ...

  4. Hdu 1402 (FFT)

    题目链接 A * B Problem Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/ ...

  5. LintCode 链表倒数第n个节点

    找到单链表倒数第n个节点,保证链表中节点的最少数量为n. 样例 给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1. 分析:设两个指针 p1和p2 ...

  6. 采坑“微信小程序”

    1.微信小程序变量定义时中间不能使用 “-”. 2.padding值不能为负.

  7. CPU 和内存 $ free -m$ uptime$ top$ htop

    注意以下问题: 还有空余的内存吗? 服务器是否正在内存和硬盘之间进行swap? 还有剩余的CPU吗? 服务器是几核的? 是否有某些CPU核负载过多了? 服务器最大的负载来自什么地方? 平均负载是多少?

  8. 阿里云出手SaaS生态,中国SaaS市场小而不强有望破解

    企业服务SaaS市场还有很大的增长空间.SaaS的鼻祖Salesforces今年5月迈上了千亿美元市值的门槛,再一次为ToB市场注入了兴奋剂.单单一个SaaS CRM,目前全球的市场规模就超过400亿 ...

  9. C++ Socket 获取本机可用端口号(QT)

    :加载套接字库,创建套接字(WSAStartup()/socket()): :绑定套接字到一个IP地址和一个端口上(bind()): :将套接字设置为监听模式等待连接请求(listen()): :请求 ...

  10. HDU 1536 求解SG函数

    #include<stdio.h> #include<string.h> #include<algorithm> #include<set> using ...