hibernate主键生成机制

increment:

  hibernate会先读取主键的最大值,然后+1并插入

  试用范围:

    1 所有有数据库

    2 只有单个hibernate进程访问的数据库,因为有并发问题

    3 必须为int,ong,short类型

 

identity:

  由底层数据库来负责生成标识符,它要求底层数据库把主键定义为自动增长字段类型

  适用范围:

    1 底层数据库必须支持自动增长字段类型

  

sequence:

  利用底层数据库提供的序列来生成标识符

  hibernate先从数据库的news_seq序列中获得一个唯一的标识号,再把它作为主键

  适用范围:

    1 底层数据库必须支持序列

 

native:

  依据底层数据库自动生成标识符的支持能力,来选择适用identity,sequence或hilo标识符生成器

  适用范围:

    1 很适合跨数据库平台开发

 

assigned:

  自己在程序中手动设置主键的值

  适用范围:

    1 所有

 

uuid.hex:

  hibernate采用128的UUID算法来生成标识符,该算法能够在网络环境中生成唯一的字符串标识符

  适用范围:

    1 主键是字符串

posted @ 2014-03-08 13:32  褐色键盘  阅读(161)  评论(0)    收藏  举报