【发布时间】:2017-07-28 11:21:26
【问题描述】:
我正在使用 H2 测试我的应用程序环境。我有表订单,我想从 10000 开始订单 ID。我创建了表列:
@Id
@TableGenerator(name = "ORDER_GEN",
table = "ID_GEN",
pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_NUMBER",
pkColumnValue = "ORDER_GEN",
initialValue = 1000)
@GeneratedValue(strategy = GenerationType.TABLE, generator = "ORDER_GEN")
private Long orderId;
但不起作用。我重新启动了应用程序,创建了表 ID_GEN 但每次从 0 开始排序。
有什么想法吗?
问候
【问题讨论】:
-
“不起作用”。这意味着什么?有什么例外吗?调用了一些 SQL 吗?
-
我的意思是,表 ID_GEN 已创建,但每次从 0 开始排序,而不是从 1000 开始(但应该)。
-
所以当你调用
em.persist时发布你的JPA提供者发出的精确SQL语句 -
只是 repository.save(order) 因为我使用的是 Spring Data Rest。我已将 DB 从 H2 更改为 MySQL,但仍然无法正常工作。
-
所以您使用的是 Spring Data JPA (!= JPA API)。 JPA 提供程序日志会告诉您 SQL,因此请查看它。也就是调试
标签: java hibernate spring-data-jpa