千锋教育-做有情怀、有良心、有品质的职业教育机构

当前位置:首页  >  关于学院  >  技术干货  >  正文

hibernate 有几种查询方式?

来源:千锋教育
作者:qyf
关键词: 对象 查询
2022-08-30
分享

hibernate 有几种查询方式

  1. 导航对象图查询:根据已加载的对象,导航到其他对象

  例如,对于已经加载的Customer对象,调用它的getOrders().iterator()方法就可以导航到所有关联的Order对象,假如在关联级别使用了延迟加载检索策略,那么首次执行此方法时,hibernate会从数据库中加载关联的Order对象,否则就从缓存中获得Order对象。

  2. OID方式:按照对象的OID来检索对象

  Session的get()和load()方法提供了这种功能,如果在应用程序中先知道了OID,就可以使用这种方式检索对象。

  get()和load()的用法完全一样,都需要两个参数,一个是持久化对象类名class,一个是行号OID,返回固定的某一行的数据,但是需要注意的是,当输入的OID不存在时,get()会返回一个空对象,load()则直接报错。

  3. HQL检索方式(hibernate query language)

  使用面向对象的HQL查询语言,session的find()方法用于执行HQL查询语句。此外,hibernate还提供了query接口,它是hibernate提供的专门的HQL查询接口,能够执行各种复杂的HQL查询语句。

  它具备以下功能:

  在查询语句中设定各种查询条件;

  支持投影查询,即仅检索出对象的部分属性;

  支持分页查询;

  支持连接查询;

  支持分组查询;

  提供内置函数;

  能够调用用户自定义的SQL函数;

  支持子查询;

  支持动态绑定参数;

  例如:

  Query query = session.createQuery(“from UserPo”);

  获得一个query对象,注意参数字符串中不是一个SQL语句,from后面的是持久化对象名称;

  List list = query.list();

  就可以获取数据库中对应表的数据集合。

  4. QBC检索方式:Query By Criteria的API来检索对象

  这种API封装了基于字符串形式的查询语句,提供了更加面向对象的接口。

  例如:

  Criteria criteria = session.createCriteria(UserPo.class);

  创建一个Criteria对象,参数是所关联的持久化对象,criteria.add(Restrictions.ge("id",2));将查询条件加入对象中,后面的操作就和Query对象一样了。

  5. 利用原生SQL语句进行查询

  更多关于“Java培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的好程序员班,高品质课程助力你实现java程序员梦想。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

相关推荐

  • linux备份文件命令(linux备份文件命令cp怎么用) linux下备份一个目录下所有文件及目录,应该用什么命令1、dump命令 Linux dump命令用于备份文件系统。dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件
  • linuxuseradd命令详解(linux中useradd和adduser) linux中useradd,usermod命令的使用方法是什么1、通过 usermod -L 用户名锁住密码,这时在root用户下su -l 用户名还是可以进入到系统中,因为root用户su到任意用
  • linux清空日志log命令(linux如何清日志) 在Linux下如何清除系统日志1、每天0点执行 usrnginxdellog.sh 保存后退出,输入命令crontab root就会看到varspoolcron文件夹下看到相应的副本文件root。至
  • linux新建用户命令(linux创建用户命令) linux系统添加用户命令是什么1、Linux如何创建用户打开xshell软件,远程访问您的服务器或虚拟机。Linux添加用户名的命令是:Suduseraded。输入用户文件夹,查看是否已经有一个包
  • linux打开文件夹命令(linux常用命令 打开文件) linux进入管理员模式命令在Linux的命令提示窗口下。输入su命令,然后输入密码就可以进入管理员了。首先打开linux vi,进入到编辑页面中,然后按下“ESC”按键就可以切换到命令模式中了。然
  • linux安装rz(Linux安装maven) Linux下rz命令怎么使用解决方法:本地系统中安装Xshell,用Xshell连接虚拟机Linux,在Xshell中输入命令rz即可上传文件。通过你的描述,将本地的文件上传至linux ,可以通过