【发布时间】:2019-06-12 08:47:18
【问题描述】:
我在下面的代码中使用@UniqueConstraint。当我使用 saveall() 保存数据的方法,当约束违反第一次失败时 数据剩余值也没有保存。
@Entity
@Data
@Table(uniqueConstraints = @UniqueConstraint(columnNames = { "tradeStartTime", "tradeEndTime", "contract" }))
public class TradingHours {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private ZonedDateTime tradeStartTime;
private ZonedDateTime tradeEndTime;
@ManyToOne
@JoinColumn(name = "contract")
private Contract contract;
}
【问题讨论】:
-
您的问题是什么?能具体点吗?
-
我使用 saveall() 方法保存有 150 条记录的数据。但是在我的第一个记录中,由于剩余的 149 条记录也没有保存,所以发生了违反约束的异常。我想无约束地保存剩余的记录违规
-
好的,那么我的建议是您管理异常以便继续。所以我现在的独特想法是您创建一个基础存储库以覆盖
saveAll(List<S> list),您可以从那里进行控制。你怎么看?
标签: spring spring-boot spring-data-jpa spring-transactions