首頁 資料庫 mysql教程 POJO类以及映射配置文件

POJO类以及映射配置文件

Jun 07, 2016 pm 04:03 PM
物件 耐力 提供 對應 要求 設定檔

对持久化对象的要求 1、 提供一个无参构造器,使Hibernate可以使用Constructor.newInstace()来实例化持久化对象 2、提供一个标识属性(identifier property)。通常映射为数据库表的主键字段,如果没有该属性,一些功能将不起作用,如Session.saveOrUpdate()

对持久化对象的要求

1、 提供一个无参构造器,使Hibernate可以使用Constructor.newInstace()来实例化持久化对象

2、提供一个标识属性(identifier property)。通常映射为数据库表的主键字段,如果没有该属性,一些功能将不起作用,如Session.saveOrUpdate()。

3、 为持久化类的字段声明访问方法(set/get)。Hibernate对javaBean风格的属性实行持久化。

4、使用非final类,在运行时生成代理是Hibernate的一个重要功能,如果持久化类没有实现任何接口,Hibernate使用CGLB生成代理,如果使用final类,则无法生成CGLIB代理。

5、重写equals()和hashCode()方法,如果需要将持久化类放到Set中(当需要进行关联映射时),则应该重写这两个方法。

对于映射配置文件中非主键元素使用标签映射,标签的type属性用来指定持久化类和数据表中的类型。

可以写Java中类的全名,也可以写Hibernate类型。

映射主键属性

主键如果是数字建议使用对应的包装类型。

id元素用于映射主键,id元素子元素的class属性用于指定主键生成策略。

其常用值如下:

identity:使用数据库的自动增长策略,不是所有数据库都支持,比如Oracle就不支持

sequence:在DB2,PostgreSQL,Oracle,SAPDB等中使用sequence。

hilo:使用高地位算法生成主键,只需要一张额外的表,所有的数据库都支持。

increment:由Hibernate维护的,先查询当前最大的id值,在加1增长,不推荐使用,因为有线程安全问题。

assigned:手工指定主键。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

win10使用者設定檔在哪? Win10設定使用者設定檔的方法 win10使用者設定檔在哪? Win10設定使用者設定檔的方法 Jun 25, 2024 pm 05:55 PM

最近有不少Win10系統的使用者想要更改使用者設定文件,但不清楚具體如何操作,本文將為大家帶來Win10系統設定使用者設定檔的操作方法吧! Win10如何設定使用者設定檔1、首先,按下「Win+I」鍵開啟設定介面,並點選進入「系統」設定。 2、接著,在打開的介面中,點擊左側的“關於”,再找到並點擊其中的“高級系統設定”。 3、然後,在彈出的視窗中,切換到「」選項欄,並點擊下方「用戶配

如何將 MySQL 查詢結果陣列轉換為物件? 如何將 MySQL 查詢結果陣列轉換為物件? Apr 29, 2024 pm 01:09 PM

將MySQL查詢結果陣列轉換為物件的方法如下:建立一個空物件陣列。循環結果數組並為每一行建立一個新的物件。使用foreach迴圈將每一行的鍵值對賦給新物件的對應屬性。將新物件加入到物件數組中。關閉資料庫連線。

在Ubuntu上安裝Helm 在Ubuntu上安裝Helm Mar 20, 2024 pm 06:41 PM

Helm是Kubernetes的一個重要元件,它透過將設定檔捆綁到一個稱為HelmChart的套件中來簡化Kubernetes應用程式的部署。這種方法使得更新單一設定檔比修改多個檔案更便捷。借助Helm,使用者可以輕鬆部署Kubernetes應用程序,簡化了整個部署過程,提高了效率。在本指南中,我將介紹在Ubuntu上實作Helm的不同方法。請注意:以下指南中的命令適用於Ubuntu22.04以及所有Ubuntu版本和基於Debian的發行版。這些命令經過測試,應該會在您的系統上正常運作。在U

數組和物件在 PHP 中的差異是什麼? 數組和物件在 PHP 中的差異是什麼? Apr 29, 2024 pm 02:39 PM

PHP中,數組是有序序列,以索引存取元素;物件是具有屬性和方法的實體,透過new關鍵字建立。數組存取透過索引,物件存取通過屬性/方法。數組值傳遞,物件參考傳遞。

Java JPA 面試題精選:檢視你的持久化框架掌握程度 Java JPA 面試題精選:檢視你的持久化框架掌握程度 Feb 19, 2024 pm 09:12 PM

什麼是JPA?它與JDBC有什麼不同? JPA(JavaPersistenceapi)是一個用於物件關係映射(ORM)的標準接口,它允許Java開發者使用熟悉的Java物件來操作資料庫,而無需編寫直接針對資料庫的sql查詢。而JDBC(JavaDatabaseConnectivity)是Java用來連接資料庫的標準API,它需要開發者使用SQL語句來操作資料庫。 JPA將JDBC封裝起來,為物件-關聯映射提供了更方便、更高層級的API,簡化了資料存取操作。在JPA中,什麼是實體(Entity)?實體

C++ 函式回傳物件時有什麼需要注意的? C++ 函式回傳物件時有什麼需要注意的? Apr 19, 2024 pm 12:15 PM

在C++中,函數傳回物件需要注意三點:物件的生命週期由呼叫者負責管理,以防止記憶體洩漏。避免懸垂指針,透過動態分配記憶體或返回物件本身來確保物件在函數返回後仍然有效。編譯器可能會最佳化傳回物件的副本生成,以提高效能,但如果物件是值語義傳遞的,則無需副本生成。

win11硬體需求 win11硬體需求 Jan 11, 2024 pm 10:45 PM

win11上線已經一年了,現在系統已經越成熟了,有很多小夥伴想把自己的win10系統升級成為win11系統也是可以的,不過升級之前要先了解自己的電腦是否支援。 win11硬體需求:處理器:1GHz或更快的支援64位元的處理器(雙核心或多核心)或系統單晶片(SoC)。記憶體:4GB。儲存:64GB或更大的儲存設備,附註:有關詳細信息,請參見以下「關於保持Windows11最新所需儲存空間的更多資訊」。系統韌體:支援UEFI安全啟動。請在此處查看關於如何啟用電腦以滿足此要求的說明。 TPM:受信任的平台模

PHP中的Request物件是什麼? PHP中的Request物件是什麼? Feb 27, 2024 pm 09:06 PM

PHP中的Request物件是用來處理客戶端傳送到伺服器的HTTP請求的物件。透過Request對象,我們可以取得客戶端的請求訊息,例如請求方法、請求頭資訊、請求參數等,從而實現對請求的處理和回應。在PHP中,可以使用$_REQUEST、$_GET、$_POST等全域變數來取得要求的信息,但是這些變數並不是對象,而是陣列。為了更靈活和方便地處理請求訊息,可

See all articles