转载

MySQL和Hibernate/JPA如何避免使用AUTO Generator类型?

在MySQL中,TABLE生成器是您总是希望避免的。 永远不要 用它!

在MySQL和Hibernate 5中,GenerationType.AUTO生成器类型将导致使用TABLE生成器。这增加了显着的性能损失。使用GenerationType.IDENTITY或原生生成器。

要点:

- 使用GenerationType.IDENTITY而不是GenerationType.AUTO

- 使用 此源代码中举例说明的原生生成器

输出结果:

MySQL和Hibernate/JPA如何避免使用AUTO Generator类型?

推荐做法:

@Entity
<b>public</b> <b>class</b> UserGood implements Serializable {

    <b>private</b> <b>static</b> <b>final</b> <b>long</b> serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO, generator=<font>"native"</font><font>)
    @GenericGenerator(name=</font><font>"native"</font><font>, strategy=</font><font>"native"</font><font>)
    <b>private</b> Long id;
</font>

不好的做法:

@Entity
<b>public</b> <b>class</b> UserBad implements Serializable {

    <b>private</b> <b>static</b> <b>final</b> <b>long</b> serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
原文  https://www.jdon.com/51729
正文到此结束
Loading...