在三种数据库中都是native最好,因为native会根据使用的数据库更换主键生成策略,比如mysql中就是auto-increment,oracle中就是sequence,db2没用过,不知。

解决方案 »

  1.   

    2楼正解,这样就可以让hibernate根据不同的数据库,选择不同的主键生成机制
      

  2.   

    native标识符生成器依据底层数据库对自动生成表示符的支持能力,
    来选择使用identity,sequence或者hilo标识符生成器。
    native能自动判断底层数据库提供的生成标识符的机制。例如:
    如果为Mysql和MS sqlserver,就选择identity标识符生成器;
    如果为Oracle,就选择sequence标识符生成器。