Hibernate之多表查询
原生SQL多表查询
1.交叉连接(笛卡尔积)
select * from A, B
2.内连接
(1)隐式内连接
select * from A, B where b.aid = a.id
(2)显示内连接
select * from A inner join B on b.aid = a.id
3.外链接
(1)左外连接
select * from A left [outer] join B on b.aid = a.id
(2)右外连接
select * from A right [outer] join B on b.aid = a.id
HQL多表查询
1.内连接(迫切)
from Customer c inner join c.linkMans
from Customer c inner join fetch c.linkMans
2.外链接
(1)左外连接(迫切)
from Customer c left join fetch c.linkMans
(2)右外连接(迫切)
from Customer c right join fetch c.linkMans
![Hibernate之多表查询 Hibernate之多表查询](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI4L2VjNTFmZjA0M2YxNmEyN2JhNzUyYzY4Y2YyOGI2ZDY0LnBuZw==)
1.交叉连接(笛卡尔积)
select * from A, B
2.内连接
(1)隐式内连接
select * from A, B where b.aid = a.id
(2)显示内连接
select * from A inner join B on b.aid = a.id
3.外链接
(1)左外连接
select * from A left [outer] join B on b.aid = a.id
(2)右外连接
select * from A right [outer] join B on b.aid = a.id
HQL多表查询
1.内连接(迫切)
from Customer c inner join c.linkMans
from Customer c inner join fetch c.linkMans
2.外链接
(1)左外连接(迫切)
from Customer c left join fetch c.linkMans
(2)右外连接(迫切)
from Customer c right join fetch c.linkMans