hibernate是乙個廣泛使用的orm框架。 許多組織在其專案中使用它來管理其資料訪問層。 但是,許多使用hibernate的開發人員並不完全了解其功能的全部內容。
這是第1 週後在hibernate中鐵的事實集中series.other職位包括:
hibernate硬事實第1部分 (本文)
hibernate硬事實第2部分
hibernate硬事實第3部分
hibernate硬事實-第4部分
hibernate硬事實–第5部分
hibernate硬事實-第6部分
hibernate事實–第7部分
使用hibernate的乙個普遍存在的錯誤是在已經持久的物件上呼叫update()
方法:
session
.gettransaction
().begin
();person
person=(
person
)session
.load
(person
.class,1l
);person
.setlastname
("foobar"
);session
.update
(person
);session
.gettransaction
().commit
();
這將為您提供以下hibernate輸出:
hibernate: select person0_.id as id0_0_,person0_.birthdate as birthdate0_0_,
person0_.first_name as first3_0_0_,
person0_.last_name as last4_0_0_ from person person0_ where person0_.id=?
hibernate: update person set birthdate=?, first_name=?, last_name=? where id=?
現在刪除編號為7的行。您將獲得完全相同的輸出! 如果檢查資料庫,結果將是相同的:呼叫update()
不會執行任何操作,因為該物件已經是持久物件。 如果處於除錯模式,則在兩種情況下都可以在提交事務時檢查是否呼叫了輸出的更新行。
您可以在這裡找到此斷言的證據。
翻譯自:
第1部份 開始
原文 第1部份 開始 建立qtcreator新專案 我們需要做的第一件事是在qtcreator開始我們的專案。我們的應用程式將是乙個gui應用程式,因此我們將使用 qt4 gui應用 專案模板。啟動qtcreator後,從 檔案 選單中選擇 新建.選擇 qt4 gui 應用程式 按下 確定 按鈕。輸...
MySQL系列,第1部分 Mysql簡介
mysql是乙個關係型資料庫管理系統 由瑞典 mysql ab 公司開發,目前屬於 oracle 公司。mysql 最流行的關係型資料庫管理系統 在 web 應用方面 mysql 是最好的 rdbms relational database management system,關聯式資料庫管理系統 ...
第1部分 Spring Gradle 多模組專案
概述 布局 在這裡,我們將使用平面布局將應用程式目錄保留為根專案目錄 pic 1 的兄弟。平面布局的優點是我們可以為每個應用程式使用不同的git儲存庫。在您的根專案的settings.gradle檔案中,我們需要在子專案中使用includeflat。pic 1.directory structure...