0

解决方法 - 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 之外,是否有任何通用的解决方法?

4

0 回答 0