解决方法 - Hibernate 在使用 IDENTITY 时不支持批量插入
对于我的应用程序,我使用的是 SpringBoot 和 SQL Server。我有大量数据需要插入到数据库中。
使用 GenerationType.IDENTITY 定义的插入的两个对应实体(多对一关系)
@Entity
public class DailyExportContent {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "Id")
private Integer id;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "DailyExportContent2DailyExport", foreignKey = @ForeignKey(name =
"FK_DailyExportContent_DailyExport"))
private DailyExport dailyExport;
@Entity
public class DailyExport {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "Id")
private Integer id;
据我了解,Hibernate 在使用 IDENTITY 时不支持批量插入。
如果您使用身份标识符生成器,Hibernate 会在 JDBC 级别透明地禁用插入批处理。
除了删除 IDENTITY 之外,是否有任何通用的解决方法?