Hibernate学习第4天--HQL——QBC查询详解

上次课回顾:

l  Hibernate的一对多

n  表与表之间关系

u  一对多关系

u  多对多关系

u  一对一关系

n  Hibernate的一对多配置

u  搭建Hibernate基本环境

u  创建表

u  创建实体

l  一的一方

扫描二维码关注公众号,回复: 5934297 查看本文章

n  放的是多的一方的集合

l  多的一方

n  放的是一的一方的对象

u  创建映射

l  一的一方

n  配置的<set>集合

l  多的一方

n  配置<many-to-one>

u  编写测试类

n  Hibernate的一对多的操作

u  级联操作:cascade,用于操作其关联的对象。

l  级联保存或更新

l  级联删除

u  测试对象导航

u  放弃外键维护权:inverse,用户控制是否有外键维护能力

l  Hibernate的多对多

n  Hibernate的多对多配置

u  搭建Hibernate环境

u  创建表

u  创建实体

l  放置的是对方的集合

u  创建映射

l  配置的是对象的<set>

u  编写测试类

n  Hibernate的多对多操作

u  级联操作

l  级联保存或更新

l  级联删除(了解)

u  其他的操作

l  给用户选择角色

l  给用户改选角色

l  给用户删除角色

以一对多为例测试该方式:

首先使用第三天的联系人客户实体及配置 但是取消级联和主键维护的配置。此处略。数据库改为hibernate4 表的创建方式改create

新建测试类:

初始化30条数据。

为了理解 tosting()客户 但是注意取消联系人集合 因为客户里有联系人联系人里有客户 会成为死循环。

结果:

注意!!!!!!!!!!

from Customer 中的Customer可不是表名字 而是实体类的名字。相当于加上包名 com.hibernate.domain.Customer

 

结果同上。

前两个好理解 第三个封装到对象中 需要先写构造方法。

 

sql:

 其他都null 只查了那俩属性。

同理 tosting()一下实体类。

结果:

结果:

1.1.1.1   HQL的多表查询

l  SQL的多表查询

n  连接查询

u  交叉连接:笛卡尔积

select * from A,B;

u  内连接     :inner join (inner 可以省略)

l  隐式内连接:

select * from A,B where A.id = B.aid;

l  显示内连接:

select * from A inner join B on A.id = B.aid;

u  外连接     :

l  左外连接:left outer join(outer 可以省略)

select * from A left outer join B on A.id= B.aid;

l  右外连接:right outer join(outer 可以省略)

select * from A right outer join B on A.id = B.aid;

n  子查询

 

l  HQL的多表查询

n  连接查询

u  交叉连接

u  内连接

l  显示内连接

l  隐式内连接

l  迫切内连接

u  外连接

l  左外连接

l  右外连接

l  迫切左外连接

 

1.1.1.1   HQL的多表查询

l  SQL的多表查询

n  连接查询

u  交叉连接:笛卡尔积

select * from A,B;

u  内连接     :inner join (inner 可以省略)

l  隐式内连接:

select * from A,B where A.id = B.aid;

l  显示内连接:

select * from A inner join B on A.id = B.aid;

u  外连接     :

l  左外连接:left outer join(outer 可以省略)

select * from A left outer join B on A.id= B.aid;

l  右外连接:right outer join(outer 可以省略)

select * from A right outer join B on A.id = B.aid;

n  子查询

 

l  HQL的多表查询

n  连接查询

u  交叉连接

u  内连接

l  显示内连接

l  隐式内连接

l  迫切内连接

u  外连接

l  左外连接

l  右外连接

l  迫切左外连接

猜你喜欢

转载自www.cnblogs.com/ttty/p/10728594.html