在JPA中請優先使用sequence策略生成實體識別符號的值 - Vlad Mihalcea
使用資料庫sequence是最有效的Hibernate識別符號/主鍵生成策略,因為能利用自動JDBC批處理機制。
註釋實體使用@Id和@GeneratedValue,@Id是強制性的,@Id必須被對映到具有唯一約束的表列。通常,@Id註釋應對映到“主鍵”表列。
如果不使用@GeneratedValue註釋,必須手工賦值實體識別符號,而使用@GeneratedValue由JPA自動生成實體表示符時,需要一些策略。
public class Post { @Id @GeneratedValue( strategy = GenerationType.SEQUENCE ) private Long id; |
GenerationType列舉定義了四個實體識別符號生成策略:
- IDENTITY允許使用表標識列,例如MySQL AUTO_INCREMENT。對於JPA和Hibernate,如果關聯式資料庫支援SEQUENCE(下面的第二種),則應該優先使用SEQUENCE而不是IDENTITY,因為在使用IDENTITY生成器持久儲存實體時,Hibernate無法使用自動JDBC批處理。
- SEQUENCE允許使用資料庫序列物件生成識別符號值。當使用JPA和Hibernate時,這是最佳的生成策略。
- TABLE使用單獨的表模擬資料庫序列生成器。這是一個糟糕的策略,您不應該使用它。
- AUTO 根據基礎資料庫功能選擇任何先前的策略。
具體點選標題見原文
相關文章
- 使用JPA和Hibernate延遲載入實體屬性的最佳方法 - Vlad Mihalcea
- 使用JPA和Hibernate呼叫儲存過程的最佳方法 - Vlad Mihalcea儲存過程
- vit中的生成分類識別符號介紹符號
- Hibernate識別符號生成器符號
- 批處理最佳實踐 - Vlad Mihalcea
- 使用DataSource-Proxy在Spring Boot中記錄SQL語句 - Vlad MihalceaSpring BootSQL
- JavaScript生成GUID統一識別符號JavaScriptGUI符號
- 識別符號符號
- 使用 Spring Transactional 註釋的最佳方式 - Vlad MihalceaSpring
- js如何生成唯一識別符號UUIDJS符號UI
- 使用去中心化識別符號 (DID) 作為識別符號元系統中心化符號
- JavaScript 識別符號JavaScript符號
- 列舉型別在JPA中的使用型別
- python的識別符號Python符號
- GUID值作為資料庫識別符號GUI資料庫符號
- 轉JPA實體註解與hibernate主鍵生成策略
- 命令識別符號(轉)符號
- 使用別的分割符號符號
- 06:合法 C 識別符號符號
- 《Effective Go》--空白識別符號Go符號
- oracle 識別符號規範Oracle符號
- aix 系統識別符號AI符號
- go——識別符號的命名規範Go符號
- Java資料型別、識別符號Java資料型別符號
- <Python>識別符號、變數的定義與使用Python符號變數
- 如何生成分散式唯一時間戳識別符號 - vanillajava分散式時間戳符號Java
- 使用FlexyPool度量你的XA事務連線池合適大小 - Vlad MihalceaFlex
- 高併發下,php使用uniqid函式生成唯一識別符號的四種方案PHP函式符號
- C語言-識別符號命名C語言符號
- 識別符號與關鍵字符號
- java基本無法-識別符號Java符號
- Oracle 12.2 長識別符號Oracle符號
- 標準HTML識別符號 (轉)HTML符號
- .vue檔案中style標籤的幾個識別符號Vue符號
- Python中的識別符號有哪些基礎原則?Python符號
- 物體識別桌在展廳中的應用優勢
- C++ 提示未宣告的識別符號C++符號
- 名稱 ****不是有效的識別符號 sql符號SQL