博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
总结hibernate框架的常用检索方式
阅读量:5333 次
发布时间:2019-06-15

本文共 1068 字,大约阅读时间需要 3 分钟。

1、hibernate框架的检索方式有以下几种:

  • OID检索:根据唯一标识OID检索数据
  • 对象导航检索:根据某个对象导航查询与该对象关联的对象数据
  • HQL检索:通过query接口对象查询
  • QBC检索:通过criteria接口对象查询
  • SQL检索:通过SQL语句查询

 

2、HQL检索方式:

  • 查询全部数据:session.createQuery("from 类名");
  • 根据条件查询:session.createQuery("from 类名 where 属性名=?").setParameter(?号索引(从0开始),条件);
  • 分页查询:Query query = session.createQuery("from 类名");-----query.setFirstResult(起始索引);----query.setMaxResults(每页显示的记录数);
  • 统计查询:session.createQuery("select count(*) from 类名").uniqueResult();
  • 投影查询(就是查询某个字段或某部分字段):session.createQuery("select 属性名1,属性名2 from 类名");
  • 别名查询:session.createQuery("select 别名 from 类名 别名");

 

3、QBC检索方式:

  • 查询全部数据:session.createCriteria(类名.class).list();
  • 根据条件查询:session.createCriteria(类名.class).add(Restrictions.条件方法名("属性名",条件));
  • 分页查询:Criteria criteria = session.createCriteria(类名.class);----criteria.setFirstResult(起始索引);-----criteria.setMaxResults(每页显示的记录数);
  • 排序查询:session.createCriteria(类名.class).addOrder(Order.asc/desc("属性名"));
  • 统计查询:session.createCriteria(类名.class).addProjection(Projections.rowCount());
  • 离线条件查询:(可以解决在持久层中进行繁琐的sql语句的拼接)

 

 

转载于:https://www.cnblogs.com/1315925303zxz/p/6374257.html

你可能感兴趣的文章
7_20 day25 总结
查看>>
Fliter(过滤器)的认识
查看>>
sd 卡驱动--基于高通平台
查看>>
java开发中的那些事(6)------一次ajax调用中的问题
查看>>
34 数组中的逆序对+改进低效归并排序
查看>>
python异常
查看>>
隐藏状态栏
查看>>
别人的负能量
查看>>
fedora 20下安装vim的C++补全插件clang_complete
查看>>
Git使用摘要
查看>>
基础总结篇之中的一个:Activity生命周期
查看>>
“cvSnakeImage”: 找不到标识符
查看>>
分布式文件系统HDFS 练习
查看>>
ORACLE 自治事物
查看>>
Spring --- java定时器,Spring定时器和Quartz定时器
查看>>
appium----【已解决】【Mac】环境配置提示“Xcode Command Line Tools are NOT installed!"
查看>>
没有没用的东西
查看>>
单据数据修改历史记录!
查看>>
React-使用装饰器
查看>>
python异常处理、断言
查看>>