JPA/Hibernate 批量插入缓慢

tba*_*baz 3 hibernate jpa

我正在使用 Hibernate 作为我的提供者使用 JPA 进行批量插入。数据库是 Oracle。它创建了一个序列生成器,每次插入时它都会查询序列生成器的 nextval。如果我进行 1K 次插入,它将命中序列生成器 1K 次。如果我想坚持使用 JPA,有什么方法可以加快速度?

Jav*_*cky 7

使用allocationSize在JPA @SequenceGenerator

请参阅此示例,将其设置为 150:

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MY_ENTITY_SEQ")
@SequenceGenerator(name = "MY_ENTITY_SEQ", sequenceName = "MY_ENTITY_SEQ", allocationSize = 150)
@Column(name = "MY_ENTITY", nullable = false)
private Long id;
Run Code Online (Sandbox Code Playgroud)