load get 載入方式

2022-09-13 09:18:10 字數 836 閱讀 9214

1、hibernate中get和load有什麼不同之處?

(1)hibernate的get方法,會確認一下該id對應的資料是否存在,首先在session快取中查詢,然後在二級快取中查詢,還沒有就查詢資料庫,資料庫中沒有就返回null。

(2)hibernate的load方法載入實體物件的時候,根據對映檔案上類級別的lazy屬性的配置(預設為true):

①若為true,則首先在session快取中查詢,看看該id對應的物件是否存在,不存在則使用延遲載入,返回實體的**類物件(該**類為實體類的子類,由cglib動態生成)。等到具體使用該物件(除獲取oid以外)的時候,再查詢二級快取和資料庫,若仍沒發現符合條件的記錄,則會丟擲乙個objectnotfoundexception。 

②若為false,就跟hibernate的get方法查詢順序一樣,只是最終若沒發現符合條件的記錄,則會丟擲乙個objectnotfoundexception,所說的load方法拋異常是指在使用該物件的資料時,資料庫中不存在該資料時拋異常,而不是在建立這個物件時。

2、hibernate中s**e、update和s**eorupdate方法的不同之處?

(1)s**e:執行儲存操作的,對乙個新new出來的物件進行儲存,資料庫中沒有這個物件。如果資料庫中有,會報錯說有重複的記錄。

(2)update:如果是對乙個已經存在的託管物件進行更新,要使用update()方法了,資料中有這個物件。

(3)s**eorupdate:這個方法是更新或者插入,有主鍵就執行更新,如果沒有主鍵就執行插入。是根據實體類物件的狀態做的不同操作。

①實體類物件為臨時態時做的新增s**e操作。

②實體類物件為游離態、持久態時做的修改update操作。

AssetsBundles載入方式

ab包 載入有兩種方式,一種是www 載入 一種是 呼叫unityengine下的networking庫里的 unitywebrequest 方法 下面 是新增乙個選單 按鈕 可以把 所有prefabs 打包進 ab包 using unityeditor public class createass...

php 載入 php自動載入方式

本篇文章介紹的內容是關於php自動載入方式,現在分享給大家,有需要的朋友可以參考一下這篇文章的內容 php載入檔案方式 1 include,include once,requice,requice one常規載入 2 autoload 3 spl autoload register 常規載入方式 假...

ubuntu debian 模組載入方式

如果你希望系統啟動時自動載入你的模組,有兩種方式 一種是將你的模組包含進initrd檔案裡,一般情況下不需要使用這種方式,除非不載入你的模組的話核心不能正常啟動。參見initramfs tools軟體包的相關資訊。另一種是通過配置檔案完成的,主要的配置檔案是 etc modules 比如你的模組名字...