我们正在使用带有JPA注释的Hibernate,配置如下所示。当我们使用GenerationType.AUTO时,将忽略allocationSize,并且hibernate日志会显示每个插入的sequence.nextval。
将其更改为GenerationType.SEQUENCE,如下所示可以正常工作。但是这在其他数据库中是不可移植的。这是一个错误吗?或者我们需要设置其他一些配置吗?
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MYOBJ_SEQ")
@SequenceGenerator(name = "MYOBJ_SEQ", sequenceName = "MYOBJ_SEQ", allocationSize = 100)
@Column(name = "MYOBJ_PK", length = 11)
private Integer id;
答案 0 :(得分:0)
生成标识符最灵活,最便携的方法是使用数据库表,例如:
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "id_generator")
@TableGenerator(allocationSize = 100, name = "id_generator")
@Column(name = "MYOBJ_PK", length = 11)
private Integer id;