hibernate查询方式

2023-11-13

 1、OID(主键)查询 
             使用get方法    Customer customer=session.get(Customer.class,1l);
             使用load方法  Customer customer=session.load(Customer.class,1l);


 2、对象导航检索: hibernate根据一个已经查到的对象,获得其关联对象的一种查询方式
             LinkMan linkman=session.get(LinkMan.class,1l);
            Customer customer=linkman.getCustomer();
    
  3、HQL检索:一种面向对象的方式的查询语言,语法类似sql。通过session.createquery()
        3.1 hql简单查询:
                Query query=session.createQuery("from Customer"); //Customer是类名
               List<Customer> list=query.list();
        3.2 hql排序查询:默认就是升序  或者在查询里加上 类里的属性
                 List<Customer> list=session.createQuery("from Customer").list();
                 List<Customer> list=session.createQuery("from Customer order by cust_id").list();
           //设置降序排列使用desc 升序使用asc 
             List<Customer> list=session.createQuery("from Customer order by cust_id desc").list();
         3.3 hql条件查询:
                按位置绑定
                     单条件查询
                              Query query=session.createQuery("from Customer where cust_name=?");
                              query.setParameter(0,"ck");
                               List<Customer> list=query.list();
                      多条件查询
                              Query query=session.createQuery("from Customer where cust_source=? and cust_name like ?");
                                query.setParameter(0,"某某 ");
                               query.setParameter(1,"c%");
                               List<Customer> list=query.list();
                按名称绑定
                          Query query=session.createQuery("from Customer where cust_source= :aaa and cust_name like :bbb");
                         query.setParameter("aaa","某某 ");
                         query.setParameter("bbb","程%");
                          List<Customer> list=query.list();
             3.4  hql投影查询:查询对象的某个或某些属性
                     查询单个属性
                              List<Object> list=session.createQuery("select c.cust_name from Customer c").list();
                      查询多个属性
                               List<Object[]> list=session.createQuery("select c.cust_name,c.cust_source from Customer c").list();
                     查询多个属性,但将属性封装进对象中,需要将为对象创建构造方法
                          List<Customer> list=session.createQuery("select new Customer(cust_name,cust_source) from Customer").list();
              3.5  hql分组查询:
                             List<Customer> list=session.createQuery("select count(*) from Customer").list(); //如果有多条记录
                             Object object=session.createQuery("select count(*) from Customer").uniqueResult(); //如果只有一条记录
                      分组统计
                     List<Object[]> list=session.createQuery("select cust_source,count(*) from Customer group by cust_source").list();
                      for(Object[] objects:list){
                       System.out.println(Arrays.toString(objects));
                           }
               3.6    hql分页查询:
                           Query query=session.createQuery("from LinkMan");
                           query.setFirstResult(0);
                           query.setMaxResults(10); 
                           List<LinkMan> list=query.list();

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hibernate查询方式 的相关文章

随机推荐

  • 深度学习《图像卷积》

    骚话一下 今天是2020年10月1号 是祖国的71岁生日 也是传统节日中秋节 而我由于工作的安排身在海外不得回家 怀念祖国的乡土 倍加思念远方的亲人 由于疫情 在这里哪里也去不了 只能好好学习 用学习来充实这八天假期 本文完全是为了给CNN
  • 帮我写一个Python代码,利用tensorflow框架实现年龄预测

    import tensorflow as tf import numpy as np 创建模型 model tf keras Sequential model add tf keras layers Dense 128 activation
  • java动态代理中的invoke方法是如何被自动调用的

    一 动态代理与静态代理的区别 1 Proxy类的代码被固定下来 不会因为业务的逐渐庞大而庞大 2 可以实现AOP编程 这是静态代理无法实现的 3 解耦 如果用在web业务下 可以实现数据层和业务层的分离 4 动态代理的优势就是实现无侵入式的
  • centos安装nodejs

    下载地址 https nodejs org en download 本次安装选择的是Source Code 1 下载 wget https nodejs org dist v6 10 0 node v6 10 0 tar gz 当出现 错误
  • Error: Cannot find module ‘vue-loader-v16/package.json‘ 安装vue3.0的项目报错

    vue3 0已经更新在github上好久了 一直没有时间学习 今天好不容易想看一下 根据网上的教程 一步一步的安装 创建项目 启动的时候居然报错 一看这 怀疑是某个依赖没有装上 于是执行了一下 npm install 这次没有报错 但是报了
  • RK3568-GPIO控制

    RK3568 GPIO控制 1 Sysfs接口 实现逻辑 芯片的GPIO由芯片的GPIO控制器来管理 GPIO控制器封装在芯片内部 控制器的驱动芯片厂家已经写好了 RK3568有五组GPIO控制器 每组管理32个引脚 对应 dev下的gpi
  • SQLHelper通用类执行一条返回结果集的SqlCommand命令 使用方法

    SQLHelper cs 通用类 执行一条返回结果集的SqlCommand命令 通过专用的连接字符串 使用参数数组提供参数 使用示例 SqlDataReader r ExecuteReader connString CommandType
  • PCL只获取点云中一个点的法向量之computePointNormal

    PCL只获取点云中一个点的法向量computePointNormal 最近用点云图做应用的时候想只获取点云中一个点的法向量 然后就在网络上搜索 搜索了半天只能找到一些看似成功 实则语焉不详的文章 甚至是纯照搬 抄袭的文章 所以写下这篇文章供
  • 实体化视图

    Oracle 的实体化视图是包括一个查询结果的数据库对像 它是远程数据的本地副本 或者用来 生成基于数据表求和的汇总表 实体化视图存储基于远程表的数据 也可以称为快照 实体化视图可用于预先计算并保存表连接或聚集等耗时较多的操作的结果 这样
  • OLED透明屏曲面技术:创新突破引领显示行业未来

    OLED透明屏曲面技术作为一项重要的显示技术创新 正在成为显示行业的焦点 其引人注目的优势和广泛应用领域使其备受关注 本文将详细介绍OLED透明屏曲面技术的优势 应用领域以及市场前景 同时展望其未来的发展趋势 以期带给读者全面而深入的了解
  • intellij idea 打可运行scala jar 包的两种方式

    今天折腾了一天 研究 idea 打可运行scala 代码的 jar 包 有些心得记录下来 供大家参考 希望能帮助到一些同事 此前在网络上有一些关于打jar 包的资料 大都是一些转载 或者介绍的不是很详细 此篇是详细介绍打包过程以及思考推导方
  • 扩展应用功能的无限可能——UniApp生态系统中的插件探索(二)

    文章目录 自定义插件的开发与应用案例 自定义插件的需求分析 第一部分 引言和背景 第二部分 确定插件的目标和范围 第三部分 定义插件的功能和特性 第四部分 界面设计和交互流程 第五部分 技术实现和开发计划 第六部分 测试和质量保证 第七部分
  • 教你写只爬虫

    在从零开始教大家写个小爬虫前先说一说爬虫是什么东西吧 百度就不百度了 想把我所认为的爬虫给大家说一下吧 以前学爬虫之前觉得爬虫感觉好牛逼的样子 认为这东西和骇客差不多似的 偷取别人信息 其实学完之后慢慢思考下 我觉得爬虫就是一段脚本程序 作
  • 输出3行,第一行打印一遍输入的数,第二行打印两遍,第三行打印三遍。 第二行和第三行,用空格分隔同一行的数字。 实数用"6.2f"格式输出。

    import java util Scanner public class Main public static void main String args Scanner scanner new Scanner System in dou
  • 【综合题】【数据库原理】

    文章目录 一 属性集合的闭包计算 二 确定候选码并进行范式级别的判断 2 1 确定候选码讲解 2 2 范式级别的判断讲解 三 根据要求写SQL语句 四 关系代数运算和画E R图并进行关系模式转换 4 1 关系代数运算 4 2 E R图向关系
  • 最新最全论文合集——基于统计学习的关系抽取

    AMiner平台 https www aminer cn 由清华大学计算机系研发 拥有我国完全自主知识产权 平台包含了超过2 3亿学术论文 专利和1 36亿学者的科技图谱 提供学者评价 专家发现 智能指派 学术地图等科技情报专业化服务 系统
  • compare4密钥过期解决方案

    删除C Users 用户名 AppData Roaming Scooter Software Beyond Compare 4下的所有文件 重启Beyond Compare 4即可 注意 用户名下的AppData文件夹有可能会被隐藏起来 其
  • 新手看过来----讨厌的运算符

    在计算机的世界里 虽然有很多数学的影子 但在计算公式转换为计算机语言时 很多表达方式并 不一致 这导致新手们初期不习惯 很容易用错 需要一个记忆的过程 就像学习英文 主谓宾定状补的先后顺序于中文是不一致的 在翻译句子时很容易产生中式英语 本
  • 【leetcode】1052. 爱生气的书店老板

    题目 解法 class Solution def maxSatisfied self customers grumpy X gt int 固定窗口最大和 param customers param grumpy param X return
  • hibernate查询方式

    1 OID 主键 查询 使用get方法 Customer customer session get Customer class 1l 使用load方法 Customer customer session load Customer cla