来自另一个系统的JPA TableGenerator更新

时间:2012-09-27 13:55:05

标签: java java-ee jpa

我的表有一个用表生成器生成的主键:

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

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

1 个答案:

答案 0 :(得分:1)

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

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