在 MySQL 中,TABLE生成器是您总是希望避免的。 永远不要 用它!
在MySQL和Hibernate 5中,GenerationType.AUTO生成器类型将导致使用TABLE生成器。这增加了显着的性能损失。使用GenerationType.IDENTITY或原生生成器。
要点:
- 使用GenerationType.IDENTITY而不是GenerationType.AUTO
- 使用 此源代码中举例说明的原生生成器
输出结果:

推荐做法:
@Entity
public class UserGood implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="native")
@GenericGenerator(name="native", strategy="native")
private Long id;
不好的做法:
@Entity
public class UserBad implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
本文探讨了在MySQL与Hibernate5环境下如何优化主键生成策略,指出应避免使用TABLE生成器,因为它会导致性能下降。推荐使用GenerationType.IDENTITY或原生生成器来提高效率。
2160

被折叠的 条评论
为什么被折叠?



