1. 程式人生 > >Hibernate主鍵生成的策略

Hibernate主鍵生成的策略

  • 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