1. 程式人生 > >hibernate的多表聯合查詢

hibernate的多表聯合查詢

SQL多表聯合查詢的知識點回顧

/*連線查詢
     * 交叉連線:交叉連線返回的結果是被連線的兩個表中所有資料行的笛卡爾積,也就是返回第一個
     * 表中付匯查詢條件的資料行乘以第二個表中符合查詢條件的資料行數,例如depert表中有4個部門
     * ,而employ表中有4個員工,那麼交叉連線的結果就有4*4=16條資料
     * 語法格式如下
     * select * from 表1 cross join 表2; 或者
     * select * from 表1,表2;
     * 交叉連線的結果就是兩張表中所有資料的組合,實際開發罕見;
     */
    /*內連線:又簡稱簡單連線或自然連線。內連線使用比較運算子對兩張表中的資料進行比較,並列出
     * 與連線條件匹配的資料行,組成新的記錄,也就是說在內連線查詢中,只有滿足條件的記錄才能
     * 出現在查詢結果中
     * 語法格式如下:
     * select 查詢欄位 from 表1 join 表2 on 表1.關係欄位=表2.關係欄位 ;或者
     * select * from 表1,表2 where 表1.關係欄位=表2.關係欄位;或者
     * select * from 表1 join 表2 on 表1.關係欄位=表2.關係欄位;
     */

 

package cn.com.query;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;
import cn.com.util.Hibernate_Utils;

public class Demo4 {
	@Test
	public void demo() {
		/*
		 * author:命運的信徒 date:2018/12/5 arm:hibernate的多表聯合查詢
		 */
		Session session = Hibernate_Utils.openSession();
		Transaction tx = session.beginTransaction();
		// k.uu,uu是Kinds實體類裡面的一個屬性
		// 內連線
		/*session.createQuery("from Kinds k join k.uu");*/
		// 迫切內連線
		session.createQuery("from Kinds k inner join fetch k.uu");
		tx.commit();
	}
}