基于spring data jpa@query返回map的踩坑分析
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"基于spring data jpa@query返回map的踩坑分析",在日常操作中,相信很多人在基于spring data jpa@query返回map的踩坑分析问题上存在疑惑,小编
千家信息网最后更新 2026年10月31日基于spring data jpa@query返回map的踩坑分析
这篇文章主要介绍"基于spring data jpa@query返回map的踩坑分析",在日常操作中,相信很多人在基于spring data jpa@query返回map的踩坑分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"基于spring data jpa@query返回map的踩坑分析"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
spring data jpa @query返回map踩坑记录
最近用spring data jpa,网上看的一些教程,有的说是返回的Object[]数组,有的说是直接返回的对象,亲身验证了一下,发现主要看写法和返回结果。
用的版本是这样的:
dao代码如下:
public interface UserRepository extends JpaRepository{ /** * 查询某些具体列,用Object[]数组接收 * @param realName * @return */ @Query(value = "select u.userId,u.userName,u.realName from User u where u.realName = :realName") public Object[] getUserByRealName2(@Param("realName") String realName); /** * 查询整个实体对象所有信息,可以直接用实体对象接收 * @param realName * @return */ @Query(value = "select u from User u where u.realName = :realName") public User getUserByRealName3(@Param("realName") String realName); /** * 返回List
测试的代码如下,完全没什么问题。
@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {"classpath:conf/root-context.xml"})public class UserDaoTest { @Autowired private UserRepository userRepository; @Test public void test() { Object[] u2 = userRepository.getUserByRealName2("admin"); User u3 = userRepository.getUserByRealName3("admin"); List> u = userRepository.getUserByRealName("test"); String userName = ((User) u.get(0).get("user")).getRealName(); System.out.println(userName); Map u1 = userRepository.getUserByRealName1("admin"); String name = ((User) u1.get("userName")).getRealName(); System.out.println(name); assert(userName.equals("admin")); }} 设置JPA的Query返回Map对象
说明正常执行jpa查询的时候需要传一个对应实体进行映射返回的数据,这样有时候如果一个sql是复合sql关联很多表,就需要新建实体有点麻烦,通过下面方式就能将返回结果映射成map。
这样就能随意获取返回结果的内容
Query query = this.entityManager.createNativeQuery(sql); //设置JPA的Query返回Map对象 query.unwrap(SQLQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).setParameter("createuser", userInfo.getUsercode()).setParameter("type", type); List> res = query.getResultList(); 到此,关于"基于spring data jpa@query返回map的踩坑分析"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
对象
分析
实体
学习
结果
查询
代码
信息
数组
更多
说是
问题
帮助
实用
接下来
没什么
内容
写法
教程
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海喔噻互联网科技有限公司
博彦科技互联网金融
互联网是不是新科技
互联网下的科技发展
与互联网科技公司
互联网科技英文
奇酷互联网科技公司
奇士达互联网科技
创业天下互联网科技有限公司
宁夏众和广鑫互联网科技有限公司
彤创互联网科技有限公司
滨湖区互联网智能科技产品有哪些
皮皮虾互联网科技有限公司
互联网科技资金流入
全球科技与互联网公司市值变化
陕西九四连强互联网科技有限公司
张家口科技产业互联网平台
安徽零酒互联网科技有限公司
现代互联网科技公司
小牛互联网科技有限公司地址
互联网金融 科技金融
上游互联网科技
互联网科技汛
字节跳动和互联网科技
科技赋能视角下互联网保险发展
山东有哪些互联网科技公司
美国互联网科技公司
国产互联网科技公司
互联网领先科技活动
广西泛欧互联网科技有限公司