Hibernate 小知識點

2021-04-20 07:28:59 字數 657 閱讀 1599

今天比較忙沒怎麼寫**.

知識一些曉得知識或是經驗吧!

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...