zoukankan      html  css  js  c++  java
  • summary -- hibernate -- select

    查询1:sqlQuery返回 Map

    Session session = hibernateTemplate.getSessionFactory().openSession();
    List<Map<String, Object>> list = null;
    try {
        StringBuilder sb = new StringBuilder();
        sb.append("select s.*, c.name as className from Course c");
        sb.append(" left join Student s on s.classId=c.id");
    
        SQLQuery sqlQuery = session.createSQLQuery(sb.toString());
        sqlQuery.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
        list = sqlQuery.list();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        session.close();
    }
    return list;

    查询2:返回的是实体类

    Session session = hibernateTemplate.getSessionFactory().openSession();
    List<Map<String, Object>> list = null;
    try {
        StringBuilder sb = new StringBuilder();
        sb.append("from Student");
        sb.append(" where id='12345'");
    
        Query query = session.createQuery(sb.toString());
       // session.createSQLQuery(sql).addEntity(Studnet.class);
        list = query.list();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        session.close();
    }
    return list;

    查询3: 需创建vo类

    Session session = hibernateTemplate.getSessionFactory().openSession();
    List<Map<String, Object>> list = null;
    try {
        StringBuilder sb = new StringBuilder();
        sb.append("select s.*, c.name as className from Course c");
        sb.append(" left join Student s on s.classId=c.id");
    
        SQLQuery sqlQuery = session.createSQLQuery(sb.toString());
        sqlQuery.addScalar("id", Hibernate.INTEGER);
        sqlQuery.addScalar("name", Hibernate.STRING);
        sqlQuery.addScalar("age", Hibernate.INTEGER);
        sqlQuery.addScalar("className", Hibernate.STRING);
        
        sqlQuery.setResultTransformer(Transformers.aliasToBean(StudentVo.class));
        list = sqlQuery.list();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        session.close();
    }
    return list;
    
    @Data
    public class StudentVo {
        private int id;
        private String name;
        private int age;
        private Course course;
    }
  • 相关阅读:
    Excel 2016 Power View选项卡不显示的问题
    Base64编码
    MAPI错误0x80040107
    命令行界面 (CLI)、终端 (Terminal)、Shell、TTY的区别
    C函数调用过程原理及函数栈帧分析
    SIFT(Scale-invariant feature transform) & HOG(histogram of oriented gradients)
    Jupyter NoteBook 的快捷键
    endnote插入参考文献后的对齐方式和缩进空格
    赏月斋源码共享计划 第四期 约瑟夫问题
    LRU和LFU的区别
  • 原文地址:https://www.cnblogs.com/day1day1up/p/12930656.html
Copyright © 2011-2022 走看看