1. 程式人生 > >hibernate 的多對多的關聯和一對多的關聯

hibernate 的多對多的關聯和一對多的關聯

  1. 資料庫的多對多 1.1 資料庫中不能直接對映多對多 處理:建立一個橋接表(中間表),將一個多對多關係轉換成兩個一對多

    注1:資料庫多表聯接查詢 永遠就是二個表的聯接查詢

        A   B   C  D
           t1   C
                t2 D
                   t3
    
    
        A	B	AB
        select * from A,B,AB WHERE A.aID=AB.aID and b.bid = AB.bid
        where 
        在hibernate中,你只管查詢當前表物件即可,
        hibernate會欄位關聯橋表以及關聯表查詢出關聯物件
    

#關鍵點都在資料庫中的外來鍵上面,請好好理解下面這二句SQL和一對多及多對一的關係 #select * from Orders where cid=? //這條SQL返回客戶對應的0-n個訂單 #select * from Customers where customerId=? //這條SQL返回訂單對應的1個客戶 #通過這二條SQL不難看出,外來鍵在這裡有二個用途:查詢客戶的訂單,查詢訂單對應的客戶 2. 案例:如何建立客戶和訂單一對多雙向關聯 2.1 先不建立客戶和訂單的關聯關係,定義實體及對映檔案,單獨執行儲存操作 2.2 建立客戶到訂單的一對多關聯關係

2.3 建立訂單到客戶的多對一關聯關係

  <!--1.註釋 2.只讀-->
  <property name="cid" type="java.lang.Integer" column="cid" insert="false" update="false">
  </property>

2.4 注意:在Hibernate當中定義實體物件的集合屬性時,只能使用介面而不能使用類