我知道這是一個很多時候被描述的常見問題。 但我仍然無法得到一些東西 - 性能呢?哪種方法更快?其實,我需要一個簡單的東西:頁面發出一個POST請求:id = 0,name ='John'。服務器端腳本應檢查id = 0,然後在數據庫中創建新記錄,否則更新現有。休眠:加載vs得到
我認爲get()對我來說更有用,因爲它將在DB中不存在記錄時返回NULL,而load()可以返回一些temproray對象。 謝謝
我知道這是一個很多時候被描述的常見問題。 但我仍然無法得到一些東西 - 性能呢?哪種方法更快?其實,我需要一個簡單的東西:頁面發出一個POST請求:id = 0,name ='John'。服務器端腳本應檢查id = 0,然後在數據庫中創建新記錄,否則更新現有。休眠:加載vs得到
我認爲get()對我來說更有用,因爲它將在DB中不存在記錄時返回NULL,而load()可以返回一些temproray對象。 謝謝
下面是Hibernate的論壇,在我的谷歌查詢的第一個結果(Hibernate load vs get
)等效問題的鏈接:https://forum.hibernate.org/viewtopic.php?p=2387456
有其規定如下:
的load()方法較舊;由於用戶 請求,get()被添加到Hibernate的API中。差異是微不足道的:
如果load()無法在緩存或數據庫中找到對象,則拋出異常 。 load()方法永遠不會返回null。如果找不到對象,則get()方法返回 。
這將取決於很多事情。可能大部分是底層數據庫。還有什麼比例找到/未找到?從你的公式看,聽起來好像你期望很多「錯過」。 – vidstige
found/not found意味着具有這樣的id的記錄實際存在於DB中。比方說,我需要一些獨特的方式來檢查記錄是否存在於數據庫中(通過load()或get()方法),但不以犧牲性能爲代價 – nKognito
此描述非常清晰http://gmarwaha.blogspot。 com/2007/01/hibernate-difference-between-sessions.html –