Hibernate硬事實第1部分

2021-10-06 23:32:29 字數 1288 閱讀 6433

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...