本系列文章在 https://github.com/freestylefly/javaStudy 持(jing)续(chang)更(duan)新(geng)中,欢迎有兴趣的童鞋们关注。
一、OID查询
根据对象的OID,即数据表中的主键进行查询某一个特定的对象,比如get和load方法
1、get方式
1 | Customer customer = session.get(Customer.class,1l); |
2、load方式
1 | Customer customer = session.load(Customer.class,1l); |
3、get和load的区别
- load采用的是延迟加载
- load返回的是一个代理对象(通过集成持久化类),而get返回的是一个真实对象
- 当查不到结果时,get返回的是null,而load会报异常
二、对象导航检索
对象导航检索:Hibernate根据一个已经查询到的对象,获得其关联的对象的一种查询方式。
1 | LinkMan linkMan = session.get(LinkMan.class,1l); |
三、HQL检索
HQL查询:Hibernate Query
Language,Hibernate的查询语言,是一种面向对象的方式的查询语言,语法类似SQL。通过session.createQuery(),用于接收一个HQL进行查询方式
1、 HQL的简单查询
1 |
|
2、HQL别名查询
1 |
|
3、HQL排序查询
1 |
|
4、HQL条件查询
1 |
|
1 |
|
5、HQL投影查询
1 |
|
6、HQL分页查询
1 |
|
7、HQL统计查询
1 |
|
8、HQL分组统计查询
1 |
|
9、HQL多表查询
1 |
|