Hibernate笔记(三)
小编:管理员 456阅读 2022.09.14
1.对象导航查询
两个相关的对象
2.OID查询用id查出对象
3.hql查询Query对象
1.hql- 查询所有 from entity
- 条件查询 from entity where name=? setParameter(index,arg) 设置参数值
- 模糊查询 from entity where name like ?;
- 排序 from entity order by name desc
- 分页 setFirstResult()开始位置 setMaxResults()每页数
- 投影 select property from entity property不能是*
-
聚集函数
- count select count(* ) from entity query.uniqueResult()
- 其他的类似
-
多表查询
- 内连接 form entity inner join entity.set 最后返回的是数组
- 迫切内连接 form entity inner join fetch entity.set 最后返回的是list
- 外连接 form entity left outer join entity.set 最后返回的是数组
- 迫切左外连接 form entity left outer join fetch entity.set 最后返回的是list
Criteria对象 createCriteria(entity.class)
- 查询所有 list()
- 条件查询 add(Restrictions.eq/like/(“property”,”value”)) -> list()
- 排序 addOrder(Order.asc(“property”))
- 分页 setFirstResult()开始位置 setMaxResults()每页数
- 统计查询 setProjection(Projetions.rowCount(10));
- 离线查询 DetachCriteria deCriteria=DetachCriteria.forClass(entity.class)Criteria criteria=deCriteria.getExectueableCriteria(); 与session无关 5.本地sql查询 SQLQuery对象
get方法就是立即查询,方法执行立即发送语句 get(entity.Class,id)
2.延时查询load方法是延时查询,方法调用不会立即发送语句,只有当我们获取返回的对象中的非id字段的值得时候才会发语句。
1.类级别的延迟例如根据id的查询,最后查的是一个类的某个对象
2.关联级别的延迟当表之间是有关系的,然后我们进行延迟查询
相关推荐
- 经典笔试题-JDBC及Hibernate篇 五、JDBC 及Hibernate:(共12 题:基础10 道,中等难度2 道)110、数据库,比如100 用户同时来访,要采取什么技术解决?【基础】 答:可采用连接池。111、什么是ORM?【基础】 答:对象关系映射(Object—Relational Mapping,简称ORM)是一种为了解决面向对象…
- 3DMAX提示和技巧 本主题标识使用 Civil View 的一些重要提示和技巧。常规使用屏幕分辨率至少为 1280x1024 的 Civil View。低于此分辨率时,一些面板将占用过多屏幕空间。 将视口设置为线框显示以达到最佳性能。 要尽可能简化用户界面,请在单个视口中工作并关闭 3ds Max 命令面…