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 的值,不然被其他人抢走了咋办。

posted on 2018-03-05 10:36  HB1  阅读(349)  评论(0)    收藏  举报

导航