------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------
此篇博客简单记录五种常用的主键生成策咯:
不同的主键生成策略,生成的sql语句,以及hibernate的操作都是不同的!
3.1:assigned
主键是由程序猿自己设置的!如果我们不设置,会出现异常!
3.2:identity
针对于mysql数据库的主键自增 (mysql数据库说了算,必须设置主键自增,否则出现异常)
3.3:sequence
针对于oracle数据库中的序列
<generator class="sequence">
<param name="sequence">序列名称</param>
</generator>
3.4:increment
首先会产生一条sql select max(id) from teacher
之后id+1 赋值给主键
3.5:uuid
能够保证在不同的数据库和不同的服务器下,主键的唯一性!