基于spring data jpa@query返回map的踩坑分析
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍"基于spring data jpa@query返回map的踩坑分析",在日常操作中,相信很多人在基于spring data jpa@query返回map的踩坑分析问题上存在疑惑,小编
千家信息网最后更新 2025年11月07日基于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安全错误
数据库的锁怎样保障安全
苏州检测软件开发商
网络安全的领导机构
歌曲服务器
美橙互联数据库怎么练
dos 怎样切花数据库
如何面对目前网络安全
服务器节点不能用
获取数据库的图片给前端
大唐盛世软件开发装
天翼云桌面app设置服务器地址
为什么网络安全做不到位
双柳中心小学网络安全部
麒麟飞腾服务器
python 提高数据库性能
西安的哪些银行软件开发中心
插件型数据库
互联网科技大赛论文
徐汇区数据库安防系统收购价
宜兴的app软件开发
软件开发与软件二次开发
苏州检测软件开发商
杭州破壁人网络技术
常州机电软件开发技术参数
连接管理服务器
天翼云桌面app设置服务器地址
教师网络安全管理员培训
java邮件服务器搭建
耀邦科技软件开发
互联网科技大赛论文
系统集成和网络技术有关系吗