我们通过外部进程将数据导入数据库,并允许在应用程序内部修改/添加数据。为了避免UUID和简化代码,单个Oracle DB序列HIBERNATE_SEQUENCE
用于外部过程,我需要将它用于受影响的实体。如何在Hibernate/JPA中定义共享序列生成器?
我的每个实体天真定义失败:
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "HIBERNATE_SEQUENCE")
@SequenceGenerator(name = "HIBERNATE_SEQUENCE", sequenceName = "HIBERNATE_SEQUENCE")
有:
HibernateException的:数据库序列多参考文献[hibernate_sequence]遇到试图toset为 '增量大小' 冲突的值。
只在烧毛实体定义:
@SequenceGenerator(name = "HIBERNATE_SEQUENCE", sequenceName = "HIBERNATE_SEQUENCE")
(和@GeneratedValue
别人)原因:
org.hibernate.AnnotationException:未知Id.generator:HIBERNATE_SEQUENCE
我如何在不同的实体上使用单个序列?
UPDATE我也有:
org.hibernate.HibernateException:为[hibernate_sequence]遇到试图toset为 '增量大小' 冲突值数据库序列多个引用。实测值[1]和[50]
在如前面所定义我物理序列作为某一阶段:
create sequence HIBERNATE_SEQUENCE
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1;
和默认休眠步骤是50 ...