多對多關係注意事項
1.1 一定要定義乙個主控方
1.2 多對多刪除
1.2.1 主控方直接刪除
1.2.2 被控方先通過主控方解除多對多關係,再刪除被控方
1.2.3 禁用級聯刪除
1.3 關聯關係編輯,不需要直接操作橋接表,hibernate的主控方會自動維護
案例:級聯新增 級聯刪除 (inverse屬性值的設定)
* 填寫書本解析,勾選型別核取方塊,提交
* 如在hibernate 裡需呼叫bookdao.add
* 四種做法:
* inverse屬性 一般使用 兩種:true false false true
* 如:
* book.hbm.xml :false
* category.hbm.xml true
* 代表的是:將維護關係(中間表)的責任給book
* book.hbm.xml : true
* category.hbm.xml : true
* 出現的情況:中間表無物件維護
* book.hbm.xml : false
* category.hbm.xml : false
* 出現的情況:中間表出現兩條資料(hibernate的版本不同會有差異)
* 注意一點:
* hibernate是通過持久化物件來運算元據庫
* * 主控方刪除
* 結論是一併刪除從表關聯的中間表資訊刪除
* 被控方處理中間表刪除
* 結論是失敗
* 原因:因為被控方被中間表所引用
* 解決方案
* 1.解除關聯關係(先刪除中間表引用資料),再去刪除主表資訊
* dao方法**演示:
@override
public void deletecategory(category category)
session.delete(t);
transaction.commit();
} catch (exception e)
hibernateutli.closesession();
}
有關hibernate的查詢
hibernate查詢方式舉例 1 單個物件 a query query session.createquery from consortbean a where a.person.id query.setstring 0,pb.getid 引數從零開始 list list query.list b...
hibernate的鎖機制
hibernate 鎖機制悲觀鎖和樂觀鎖 hibernate 鎖機制 1.悲觀鎖 它指的是對資料被外界修改持保守態度。假定任何時刻訪問資料時,都可能有另乙個客戶也正在訪問同一筆資料,為了保持資料被操作的一致性,於是對資料採取了資料庫層次的鎖定狀態,依靠資料庫提供的鎖機制來實現。基於 jdbc 實現的...
Hibernate的Criteria查詢總結
1 常用的查詢限制方法 在例程9 1中,restrictions.eq 方法表示equal,即等於的情況。restrictions類提供了查詢限制機制。它提供了許多方法,以實現查詢限制。這些方法及其他一些criteria常用查詢限制方法列於表9 1中。表9 1 criteria query常用的查詢...