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;
    }
  • 相关阅读:
    yii2框架安装
    RabbitMq简单应用
    PHP扩展开发--编写一个helloWorld扩展
    node 笔记整理
    js 笔记整理
    JavaScript event loop事件循环 macrotask与microtask
    移动端 缩放插件备份
    vue 笔记备份
    echart 打开新世界的大门
    canvas 笔记整理
  • 原文地址:https://www.cnblogs.com/day1day1up/p/12930656.html
Copyright © 2011-2022 走看看