日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jpa 根据主键生成策略获取id_如何在使用JPA和Hibernate时选择id生成策略

發布時間:2023/12/4 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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生成策略的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。