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 に答える