Hibernate查询方法

原创 2007年10月04日 12:56:00

1: QBE (Query By Example)
   Criteria cri = session.createCriteria(Student.class);
   cri.add(Example.create(s)); //s是一个Student对象
   list cri.list();   
   实质:创建一个模版,比如我有一个表serial有一个 giftortoy字段,我设置serial.setgifttoy("2"),
         则这个表中的所有的giftortoy为2的数据都会出来

2: QBC (Query By Criteria) 主要有Criteria,Criterion,Oder,Restrictions类组成
   session = this.getSession();
   Criteria cri = session.createCriteria(JdItemSerialnumber.class);
   Criterion cron = Restrictions.like("customer",name);
   cri.add(cron);
   list = cri.list();
   ==============================
   比较运算符
   HQL运算符                   QBC运算符                      含义
      =                     Restrictions.eq()                  等于
      <>                   Restrictions.not(Exprission.eq())  不等于
      >                     Restrictions.gt()                  大于
      >=                   Restrictions.ge()                  大于等于
      <                     Restrictions.lt()                  小于
      <=                   Restrictions.le()                  小于等于
      is null             Restrictions.isnull()              等于空值
      is not null      Restrictions.isNotNull()           非空值
      like                 Restrictions.like()                字符串模式匹配
      and                Restrictions.and()                 逻辑与
      and                Restrictions.conjunction()         逻辑与
      or                   Restrictions.or()                  逻辑或
      or                   Restrictions.disjunction()         逻辑或
      not                  Restrictions.not()                 逻辑非
      in(列表)          Restrictions.in()                  等于列表中的某一个值
      ont in(列表)         Restrictions.not(Restrictions.in())不等于列表中任意一个值
      between x and y      Restrictions.between()             闭区间xy中的任意值
      not between x and y  Restrictions.not(Restrictions..between()) 小于值X或者大于值y

3: HQL
   String hql = "select s.name ,avg(s.age) from Student s group by s.name";
   Query query = session.createQuery(hql);
   list = query.list();
   ....

4: 本地SQL查询
   session = sessionFactory.openSession();
   tran = session.beginTransaction();
   SQLQuery sq = session.createSQLQuery(sql);
   sq.addEntity(Student.class);
   list = sq.list();
   tran.commit();

5: QID
   Session的get()和load()方法提供了根据对象ID来检索对象的方式。该方式被用于事先知道了要检索对象ID的情况。 

Hibernate 6 种方式实现查询

昨天刚经历一场校园招聘,中间和很多技术人寰交流,才明白总结的重要性,因为这一阶段一直在写项目,就把项目中用到的东西总结一番,希望 走一路,能留下点儿什么。也许这就是成果。 我很想从现在做起...
  • u013203537
  • u013203537
  • 2015年04月18日 10:25
  • 1162

hibernate 六种查询方法

hibernate查询的6种方法。分别是1.HQL查询,2.对象化查询Criteria方法,3.动态查询DetachedCriteria,4.例子查询,5.sql查询,6.命名查询 一.HQL查询(...
  • HandSome_He
  • HandSome_He
  • 2018年02月01日 22:56
  • 20

Hibernate有哪几种查询数据的方式

hql查询,sql查询,条件查询 @sunRainAmazing hql查询,sql查询,条件查询HQL: Hibernate Query Language. 面向对象的写法: Query qu...
  • sunrainamazing
  • sunrainamazing
  • 2017年05月20日 18:07
  • 1343

hibernate查询竟然有6种方法

hibernate查询竟然有6种方法,用了hibernate好久了,偶然才发现hibernate有那么多种查询方式 以前 也系统化的学过hibernate 但是仅仅 只是记得hibernate的sql...
  • java_best
  • java_best
  • 2016年09月19日 16:24
  • 4763

hibernate 查询方法

import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import c...
  • quwei7515
  • quwei7515
  • 2012年08月09日 13:39
  • 224

《Hibernate》--------单表查询的功能封装

- 前言以前用JDBC的时候,我们利用参数化查询将查询的方法封装起来,这样有利于我们的重用,当我们利用Hibernate的Hql语句,使用查询功能的时候,我们同样可以将一些公共常用的查询方法封装起来,...
  • u013067402
  • u013067402
  • 2016年10月19日 15:11
  • 1305

Hibernate查询方式——QBC查询方式

参考文: Hibernate查询方式汇总  http://blog.sina.com.cn/s/blog_7ffb8dd501014a6o.html  第十一章 Hibernate的查询 Qu...
  • Sun_Rise2011
  • Sun_Rise2011
  • 2015年01月08日 11:50
  • 1975

Hibernate3.1.3使用自定义实体类实现对SQL查询语句的映射

Hibernate3.1.3使用自定义实体类实现映射 前言: 在使用Hibernate操作数据库时, 特别是进行查询时,往往要使用存储过程或一些不方便使用实体类映射的SQL语句。这时就要用到hiber...
  • cleans
  • cleans
  • 2014年12月21日 11:55
  • 1512

hibernate的各种查询

Hibernate Query Language(HQL) Criteria Query Native SQL 下面对其分别进行解释 select子句: 有时并不需要取得对象的所有属性,这时...
  • dbeautifulLife
  • dbeautifulLife
  • 2017年03月21日 17:14
  • 1023

Hibernate查询数据的五种方式

1.导航对象图查询:根据已经加载的对象,导航到其他对象。 例如,对于已经加载的Customer对象,调用它getOrders().iterator()方法就可以导航到所有关联的Order对象,假...
  • xiaozaq
  • xiaozaq
  • 2016年09月20日 10:06
  • 2175
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate查询方法
举报原因:
原因补充:

(最多只允许输入30个字)