jpa 根据主键生成策略获取id_如何在使用JPA和Hibernate时选择id生成策略
MMTTMM
該API文檔都對這個很清楚。所有生成器都實現了org.hibernate.id.IdentifierGenerator接口。這是一個非常簡單的界面。一些應用程序可以選擇提供自己的專用實現,但是,Hibernate提供了一系列內置實現。內置生成器的快捷方式名稱如下:增量生成long,short或int類型的標識符,僅當沒有其他進程將數據插入同一個表時才是唯一的。不要在群集中使用。身分支持DB2,MySQL,MS SQL Server,Sybase和HypersonicSQL中的標識列。返回的標識符的類型為long,short或int。序列使用DB2,PostgreSQL,Oracle,SAP DB,McKoi中的序列或Interbase中的生成器。返回的標識符的類型為long,short或int希洛在給定表和列(分別默認為hibernate_unique_key和next_hi)作為hi值的源時,使用hi / lo算法有效地生成long,short或int類型的標識符。hi / lo算法生成僅對特定數據庫唯一的標識符。seqhilo在給定命名數據庫序列的情況下,使用hi / lo算法有效地生成long,short或int類型的標識符。UUID使用128位UUID算法生成在網絡中唯一的字符串類型的標識符(使用IP地址)。UUID編碼為長度為32個十六進制數字的字符串。GUID在MS SQL Server和MySQL上使用數據庫生成的GUID字符串。本地人根據底層數據庫的功能選擇標識,序列或hilo。分配讓應用程序在調用save()之前為對象分配標識符。如果未指定任何元素,則這是默認策略。選擇檢索由數據庫觸發器分配的主鍵,方法是通過某個唯一鍵選擇行并檢索主鍵值。國外使用另一個關聯對象的標識符。它通常與主鍵關聯一起使用。序列同一性一種專門的序列生成策略,它利用數據庫序列進行實際值生成,但將其與JDBC3 getGeneratedKeys結合使用,以返回生成的標識符值作為insert語句執行的一部分。僅在針對JDK 1.4的Oracle 10g驅動程序上支持此策略。由于Oracle驅動程序中的錯誤,對這些插入語句的注釋被禁用。如果你正在構建一個沒有多少并發用戶的簡單應用程序,你可以去增量,身份,hilo等。這些很容易配置,并且在db中不需要太多編碼。您應該根據數據庫選擇序列或guid。這些安全且更好,因為id生成將在數據庫內部發生。更新:?最近我們遇到了一個idendity問題,其中基本類型(int)通過使用warapper類型(整數)來修復。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的jpa 根据主键生成策略获取id_如何在使用JPA和Hibernate时选择id生成策略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单计算机面试题库及答案_计算机专业复试
- 下一篇: 绿豆汤功效与作用