Hibernate的几种查询方式

    HQL 通过Hibernat e提供的查询语言进行 查询。Hiberna te Query lanague

  EJBQL(JP QL 1.0) 是EJB提供的查询语

  QBC(quer y by cretira)通过 Cretira接口进 行查询

  QBE(quer y by Example) 通过Example编 程接口进行查询

  从功能强弱上排序 :NativeSQL > HQL > EJBQL(JPQL 1.0) >QBC(query by cretira) >QBE(query by Example) 1: QBE (Query By Example) 

QBC查询方式

  QBC(Quer y By Criteria)查 询方式是 Hibernate 提供的“ 更加面向对象” 的一种检索方式。 QBC 在条件查询上比 HQL 查询更为灵活,而且支 持运行时动态天生查询 语句。

  在Hiberna te 应用中使用 QBC 查询通常经过 3 个步骤

  (1)使用 Session 实例的 createCrit eria() 方法创建 Criteria 对象

  (2)使用工具类 Restrictio ns 的相关方法为 Criteria 对象设置查询对象

  (3)使用 Criteria 对象的 list() 方法执行查询,返回查 询结果

QBE查询

  QBE查询就是检 索与指定样本对象具有 相同属性值的对象。因 此 QBE 查询的关键就是样本对 象的创建,样本对象中 的所有非空属性均将作 为查询条件。 QBE 查询的功能子集,固然 QBE 没有 QBC 功能大,但是有些场合 QBE 使用起来更为方便。

工具类Examp le 为 Criteria 对象指定样本对象作为 查询条件

  Java代码

  1 Session session = HibernateS essionFact ory.getSes sionFactor y().openSe ssion();

  2 Transactio n ts = session.be ginTransac tion();

  3 Customer c = new Customer() ;

  4 c.setCname ("Hibernat e");

  5 Criteria criteria = session.cr eateCriter ia(Custome r. class );

  6 Criteria.a dd(Example .create(c) );

  7 Iterator it = criteria.l ist().iter ator();

  8 ts.commit( );

  9 HibernateS essionFact ory.closeS ession();

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

succeedloveaaaa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值