zoukankan      html  css  js  c++  java
  • Spring JPA——select查询2个字符串进行封装Map处理

    开发环境

    • Spring Boot 2.4
    • Hibernate 5.4
    • Spring Data Jpa 2.2

    背景

    • 在一次查询中,需要使用group by 对查询数据分组查询,返回两个字符串类型的数据。使用Spring Data Jpa操作,没有找到解封装成List对象的方法,后来使用的Hibernate进行实现。

    实现方法

    • 使用的查询SQL如下
    select f.farm_uid as farmUid,f.client_user_mid as clientUserMid from m_shelf_info f group by f.client_user_mid,f.farm_uid
    •  最终代码如下
    /**
    * 获取场地和客户
    */
    public List<ShelfInfoTable> getFarmAndCustomerQuery(){
    Query query = entityManager.createNativeQuery("select f.farm_uid as farmUid,f.client_user_mid as clientUserMid from m_shelf_info f group by f.client_user_mid,f.farm_uid");
    //将查询结果中的每一个对象转成map
    query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);

    List rows = query.getResultList();
    List<ShelfInfoTable> shelfInfoTableList = new LinkedList<>();
    for (Object obj : rows) {
    Map<String,String> row = (Map<String,String>) obj;

    //封装想要的实体
    ShelfInfoTable shelfInfoTable = new ShelfInfoTable();
    shelfInfoTable.setFarmUid(row.get("farmUid"));
    shelfInfoTable.setClientUserMid(row.get("clientUserMid"));
    shelfInfoTableList.add(shelfInfoTable);
    }

    return shelfInfoTableList;
    }
  • 相关阅读:
    深度学习
    定义一个变长数组和常量引用参数
    深度神经网络tricks and tips
    PCA whitening
    反向传播
    激活函数
    C++中模板的使用
    数据结构 (二叉树)1
    C++中的函数指针和函数对象总结
    从头到尾彻底解析Hash表算法
  • 原文地址:https://www.cnblogs.com/zuiyue_jing/p/14237550.html
Copyright © 2011-2022 走看看