Load 和Get 的區別和update用法

2021-08-31 17:54:47 字數 555 閱讀 8891

load(teacher.class,1);

teacher.class獲取資訊的類,在儲存時將物件轉換成string,在讀取時將資料庫裡的數

據轉換成teacher物件;

將1(int型)自動轉換成integer,integer是序列化的型別

當使用load的時候當什麼時候用物件裡面的內容的時候需要發出sql語句時,才會發出

sql;

get(teacher.class,1);

get直接從資料庫裡載入,不會延遲;

如果載入乙個不存在的id時,load()不會報錯;get()會報錯;

update用法:

更新transit物件會報錯;因為沒有id,

更新自己設定的id的transit物件可以,(資料變回 有對應記錄)

[img]

merge()合併方法;

session.clear()清除快取

session.flush()強制將快取和記憶體同步

[img]

用程式建表:

public void testschemaexport()

get 和load 的區別

get 方法直接返回實體類,如果查不到資料則返回null。load 會返回乙個實體 物件 當前這個物件可以自動轉化為實體物件 但當 物件被呼叫時,如果資料不存在,則會丟擲 org.hibernate.objectnotfoundexception異常 load 先到快取 session快取 二級快取...

load和get方法的區別

所謂實體查詢即 oid查詢,就是使用主鍵作為條件來查詢乙個實體。其中涉及的方法是 session 物件get 方法和load 方法。get方法 根據id 查詢乙個實體 param entitytype 指的是要查詢的實體類位元組碼物件 param id 查詢的條件,即主鍵的值。return 返回的是...

Hibernate的load 和get 區別

最近在用hibernate的時候發現乙個問題 比如我們從資料庫獲得乙個物件時,使用session.get 方法還是session.load 兩種方法在獲得乙個實體物件時是有區別的,在查詢效能上兩者是不同的。一.獲得實體物件的不同 load方法 public student getstudentbys...