1

我们正在使用带有 JPA 注释的 Hibernate,配置如下所示。当我们使用 GenerationType.AUTO 时,allocationSize 被忽略,休眠日志显示每个插入的 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;
4

1 回答 1

0

生成标识符最灵活和可移植的方法是使用数据库表,例如:

@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "id_generator")
@TableGenerator(allocationSize = 100, name = "id_generator")
@Column(name = "MYOBJ_PK", length = 11)
private Integer id;
于 2013-10-09T03:16:52.863 回答