You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hibernate批量插入未按预期执行,每次save生成单条Insert查询

Hibernate批量插入异常问题

我有10条记录,尝试使用Hibernate实现批量插入,期望每5条记录执行一次插入操作。但当前问题是每次调用session.save()时都会生成单条Insert查询,若插入1000条记录则会生成1000条查询。

当前代码片段

public void saveobjects(List<DBDimAssetGroup> objects) {
     Session session = super.getsession();
    for (int i = 1; i <= 10; i++) {
        System.out.println("Statement Queued : " + i);
        DBDimAssetGroup obj = objects.get(i);
        session.save(obj);      
        if (i % 5 == 0) {
            session.flush();
            session.clear();        
        }
    }
    session.close();
}

问题现象

  • 控制台生成10条独立的Insert查询语句
  • Hibernate配置截图内容:展示了当前Hibernate的核心配置参数

编辑1:将实体类主键生成策略改为Sequence后,出现错误:无法从指定序列获取下一个值

实体类截图内容:展示了实体类主键字段的注解配置


编辑2:即使设置生成策略为Sequence,仍生成多条独立的Insert查询,控制台依旧输出多条单独的Insert语句

修改后的实体类主键代码

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="users_seq")
@SequenceGenerator(name="users_seq" , allocationSize = 1, sequenceName = "DIM_ASSET_GROUP_SEQ")
@Column(name="ASSET_GROUP_ID", updatable = false, insertable = false)
private int assetgroupid;

内容的提问来源于stack exchange,提问作者Geeth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 06:15:14