Hibernate主鍵生成的策略
阿新 • • 發佈:2018-12-04
-
increment
- increment策略是指,不使用資料庫本地的自增長策略,而是由程式(Hibernate框架)產生一個自增長的ID值,賦予資料庫.
- 每次插入前都會去查詢表中id最大的值,然後+1作為新主鍵
-
hilo(瞭解)
- 高低位演算法,主鍵自增,由hibernate來維護,開發時不使用.因為沒有資料庫同時不支援主鍵自增長或者則序列號
-
idenitty
- identity策略,指定使用資料庫裡面的ID自增長策略. 只能用於支援ID自增長功能的資料庫,如:MySQL,SQLServer.. 不支援沒有ID自增長策略的資料庫,如Oracle,DB2..
-
sequence
- 使用序列的實現ID生成策略,主要用於有序列的資料庫.如:Oracle,DB2,如果不支援序列的資料庫(如:MYSQL),該策略會使用一個表模擬序列。
-
native
- 使用資料庫本地的策略,就是資料庫裡面使用怎麼樣的策略就用什麼策略,HIbernate不做任何的判斷.如:MySQL資料庫使用了increment_auto,自增長策略.使用native.表示直接呼叫資料庫裡面的increment_auto策略.
-
uuid
- 就是資料庫的主鍵是使用一個唯一的==字串==的來儲存.這個唯一的字串就是UUID
- 主鍵必須為String型別
-
assigned
- assigned策略,就是不使用主鍵生成策略,由手工輸入ID