hibernate的多表查询
生活随笔
收集整理的這篇文章主要介紹了
hibernate的多表查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.交叉連接
select ?* from A ,B
2.內連接 ??可以省略inner join
? ?隱式內連接:
select * from A,B where A.id = B.aid;
? ?顯式內連接:
select * from A inner join B on A.id = B.aid;
? ?迫切內連接:
需要加上fetch關鍵字
內連接查詢兩者共有的屬性數據。
3.外連接 outer join
? 左外連接:
select * from A left outer join B on A.id= B.aid;
? 右外連接:
select * from A right outer join B on A.id = B.aid;
迫切左外連接:需要加上fetch關鍵字,返回的是對象,不再是數組。
外連接查詢共有屬性和一方連接的屬性
?
Session session = HibernateUtils.getCurrentSession();Transaction tx = session.beginTransaction();// SQL:SELECT * FROM cst_customer c INNER JOIN cst_linkman l ON// c.cust_id = l.lkm_cust_id;// HQL:內連接 from Customer c inner join c.linkMans/** List<Object[]> list = session.createQuery(* "from Customer c inner join c.linkMans").list(); for (Object[]* objects : list) { System.out.println(Arrays.toString(objects)); }*/// HQL:迫切內連接 其實就在普通的內連接inner join后添加一個關鍵字fetch. from Customer c inner// join fetch c.linkMansList<Customer> list = session.createQuery("select distinct c from Customer c inner join fetch c.linkMans").list();// 通知hibernate,將另一個對象的數據封裝到該對象中for (Customer customer : list) {System.out.println(customer);}tx.commit();?
轉載于:https://www.cnblogs.com/yanqingguo/p/9757791.html
總結
以上是生活随笔為你收集整理的hibernate的多表查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Attributes.Add用途与用法
- 下一篇: 漯河看输卵管粘连最好的医院推荐