hibernate中不必要的sql update問題
hibernate in action第二版中有一段是這麼說明的:
"從獲取方法返回一個不同的物件,通常比由hibernate傳遞到設定方法的物件來的安全。hibernate按值比較物件--不是按物件的同一性--來確定一個屬性的持久化狀態是否需要被更新"
下面用程式碼來說明一下:(比如一個user類)
比較迷惑的問題是:
1、如果"物件的同一性"相等的話,那麼equals(按值比較)必定相等,這和是否產生不必要的更新有什麼因果關係?
2、如果按照他的邏輯,確實可以對效能有少許提升,但是豈不是有點浪費記憶體了?
"從獲取方法返回一個不同的物件,通常比由hibernate傳遞到設定方法的物件來的安全。hibernate按值比較物件--不是按物件的同一性--來確定一個屬性的持久化狀態是否需要被更新"
下面用程式碼來說明一下:(比如一個user類)
public class User implements serilizable{ private String name; public void setName(String name){ this.name = name; } //所說建議的寫法,這麼寫就不會導致不必要的sql update public String getName(){ return new String(name); } //而大部分通常的寫法是 public String getName(){ return this.name; } } <p class="indent"> |
比較迷惑的問題是:
1、如果"物件的同一性"相等的話,那麼equals(按值比較)必定相等,這和是否產生不必要的更新有什麼因果關係?
2、如果按照他的邏輯,確實可以對效能有少許提升,但是豈不是有點浪費記憶體了?
[該貼被jvcoffee於2009-07-28 17:19修改過]
相關文章
- Hibernate 動態Update的問題
- hibernate中的no session問題Session
- [請教] Spring + Hibernate 的 dynamic-update(動態更新)問題Spring
- Hibernate中的Session快取問題Session快取
- hibernate中oracle的問題,,急啊?Oracle
- 請教hibernate 中session問題Session
- update的機制問題
- Spring與Hibernate整合中的session問題SpringSession
- Hibernate的session問題Session
- sql中的安全問題nullSQLNull
- MySQL中SELECT+UPDATE併發更新問題MySql
- hibernate中lazy與二級快取問題快取
- Hibernate的Criteria查詢問題。
- Spring與hibernate的問題Spring
- hibernate 的lazy載入問題
- hibernate初學問題
- Hibernate Blob 操作問題!
- 淺談SQL Server中的快照問題SQLServer
- hibernate中blob大2進位制檔案的問題?
- 無法執行的update問題解析
- 用Hibernate訪問DB27.2的問題DB2
- 問一個關於hibernate的OracleDialect問題Oracle
- hibernate對映合成模式的問題模式
- 關於 Hibernate快取的問題快取
- hibernate的hbm檔案生成問題
- 操作hibernate多主鍵的問題?
- 關於Hibernate的查詢問題
- SQL__UPDATESQL
- hibernate批量查詢問題
- Hibernate,Weblogic整合問題Web
- 解決pod install update很慢的問題
- update沒帶where,尋找問題的思路
- sql中的or與and的執行順序問題SQL
- 求助 hibernate3.0中使用原始的sqlSQL
- 5 個技巧避免不必要的瀏覽器相容性問題瀏覽器
- 使用Hibernate、JPA、Lombok遇到的有趣問題Lombok
- Hibernate Lazy 載入問題的解決
- 操作hibernate多主鍵的問題?(2)