如何在MySQL中保存数据并将@Id从GenerationType.AUTO更改为GenerationType.TABLE

时间:2016-03-25 08:36:32

标签: mysql hibernate jpa orm spring-data-jpa

我遇到类似this SO question的问题。但我的应用程序正在运行数据的MySQL上运行。

使用填充了数据的现有数据库重构应用程序的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

As explained in my bookTABLE_PER_CLASS继承策略和TABLE生成器都非常好。

每次需要获取新标识符值时,TABLE生成器都会使用row-level locks and a separate transaction。这会给连接池带来压力,因为每当您尝试插入实体时都需要两个连接。

TABLE_PER_CLASS继承策略在使用多态JPQL时会生成次优查询。请改用SINGLE_TABLEJOINED