我正在使用 Hibernate 作为我的提供者使用 JPA 进行批量插入。数据库是 Oracle。它创建了一个序列生成器,每次插入时它都会查询序列生成器的 nextval。如果我进行 1K 次插入,它将命中序列生成器 1K 次。如果我想坚持使用 JPA,有什么方法可以加快速度?
使用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)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           5940 次  |  
        
|   最近记录:  |