Hibernate 新增记录时 是否会马上发出insert语句
Hibernate 新增记录时 是否会马上发出insert语句?
分情况:
如果主键是用的uuid方式:
@Id @GenericGenerator( name = "hibernate-uuid", strategy = "uuid" ) @GeneratedValue( generator = "hibernate-uuid" )
执行完新增方法后,不会马上发出insert语句。
如果主键用的IDENTITY方式:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
执行完新增方法后,会马上发出insert语句。
这个是因为identity由底层数据库生成标识符。
identity是由数据库自己生成的,但个主键必须设置为自增长。
保存完后,立刻要发出insert语句去抢占这个 id 的值,不然被其他人抢走了咋办。
浙公网安备 33010602011771号