0

我有一个表,它有一个由表生成器生成的主键:

@TableGenerator(name = "resourceIdGenerator", table = "SEQUENCE", pkColumnName = "NAME", pkColumnValue = "resource_type_id", valueColumnName = "NEXTID", allocationSize = 1) 它工作正常。

但是,我有另一个系统(非 java),它通过向其中插入新记录来不时修改同一个表。我想知道是否可以从另一个不使用 JPA 的系统更新我的这个表生成器的值?还是 JPA 自己维护它,并且它是唯一管理 tablegenerator 表的人?

4

1 回答 1

1

JPA 不能神奇地使用表格并禁止其他任何人使用它。如果您在其他系统中使用与 Hibernate 用于生成 ID 的策略相同的策略,那么它没有理由不起作用。

由于分配大小为 1,您可能只需要启动一个新事务,select for update即序列表的相应行,获取其值并将其加 1。

于 2012-09-27T14:14:51.030 回答