今天比較忙沒怎麼寫**.
知識一些曉得知識或是經驗吧!
1.lazy延遲載入(也可以說是需要的時候再區載入)。
場景:
乙個類如person和address,person可以通過getaddress()來得到address的set集合.
有乙個dao控制類operation.方法public person querybyid(string id)
通過設定lazy="true"則:
person p = new operation().querybyid("aaaa");
這裡會產生乙個sql語句,查詢出person的所有屬性。
p.getaddress()
這裡會產生另乙個sql語句,查詢person對應的所有address。
lazy="false"則:
查詢出和person關聯的所有物件資訊了,也就是說一次產生多條sql語句。很明顯效能會下降.
總結1:
lazy需要的是有再去提取。
2.cascade級聯:
這個就比較簡單了再新增乙個新物件的時候,它所關聯的物件也將被儲存到對應的表中。
注意:
再刪除主表的資料是,要使用資料庫關聯(on delete cascade)來維護關係,cascade無法刪除對應的資料。
Hibernate小知識點總結
持久化 程式資料在瞬時狀態和持久狀態間轉換的過程 1 編寫程式時,以物件導向方式處理資料 2 儲存資料時,以關係型資料庫方式儲存 orm解決方案 1 對持久化物件提供一種查詢語言或api 2 在持久化物件上執行基本的增 刪 改 查操作 3 物件關係對映工具 4 提供與事務物件互動 執行檢查 延遲載入...
Hibernate知識點概況(四)
一 hibernate查詢 1.get load主鍵查詢 2.物件導航查詢 3.hql查詢 private static sessionfactory sf static 1 get load主鍵查詢 2 物件導航查詢 3 hql查詢,hibernate query language hiberna...
Hibernate高階知識點必備
hibernate.default schema 預設的資料庫。在建立資料庫表結構的時候會加上此字首 hibernate.dialect 配置hibernate資料庫的方言,hibernate可以針對特殊的資料庫進行優化!先看一下,hibernate的執行流程吧。如何獲取session物件 hibe...