【发布时间】:2014-11-14 23:37:51
【问题描述】:
我正在使用 Spring Framework 和 JPA 将 bean 插入到我的数据库中。我需要插入将近 8000 个实体,这可能会延迟太多。
为什么要在 Hibernate 中禁用“二级缓存”
hibernate.cache.use_second_level_cache false当我在 Hibernate 中设置“hibernate.jdbc.batch_size 20”时,它会像这样插入我的 bean 吗?
INSERT INTO VALUES (1),(2),(3)...(20);
INSERT INTO VALUES (21),(2),(3)...(40);
- 文档说:“如果您使用身份标识符生成器,Hibernate 会透明地禁用 JDBC 级别的插入批处理。”。所以,我所有的 bean 都有这个配置:
@Id
@GeneratedValue(strategy = javax.persistence.GenerationType.IDENTITY)
private Integer id;
当我在上面使用这个身份时,批量插入是否被禁用?我该如何解决这个问题?
【问题讨论】: