[我读到即使使用IDENTITY策略,Hibernate也会在创建实体时强制执行一个额外的查询,因此在MySQL上取消了一些使其优于“模拟” SEQUENCE策略的优化。
因此,使用Hibernate时最好选择IDENTITY或SEQUENCE吗?
基本上SEQUENCE
是一个非常好的策略,因为它允许Hibernate使用一些额外的功能(例如JDBC批处理,其他优化,插入的延迟执行)。但是您不能在MySQL中使用该策略,因为它需要MySQL不支持的数据库序列。因此,您必须选择其他策略或创建序列仿真。
GenerationType.IDENTITY方法易于实现,并且使用AUTO_INCREMENT列。
Sequence emulation方法在开始时比较复杂,只有一次。Here是很好的要点,对您有帮助。