【发布时间】:2020-01-06 06:02:28
【问题描述】:
我在 JPA 中有一个用例,我需要在重复插入主键时增加数量或使用数量更新现有行。
@Table(name = "order_line_exception")
@IdClass(OrderLineExceptionKey.class)
public class OrderLineException
@Id
@Column(name = "order_id")
private long orderId;
@Id
@Column(name = "gtin_nbr")
private String gtinNbr;
@Id
@Column(name = "order_line_nbr")
private short orderLineNbr;
@Id
@Column(name = "exception_code")
private short exceptionCode;
@Column(name = "exception_qty")
private int exceptionQty;
}````
increase exceptionQty if same primary key repeated
【问题讨论】:
-
所以你假设你的主键会被复制——这是不可能的。
-
@Andronicus 这在数据库中是不可能的,但这并不意味着有人仍然不能尝试尝试插入。
-
好吧,也许我理解错了。该实体不必写入数据库,只需增加一个字段,对吗?
-
Tim Biegeleisen 我正在寻找类似类型的需求,但可以在 repository.save(entity) 上进行控制,并不总是 +1,它应该 exceptionQty = existingexceptionQty + newexceptionQty
标签: hibernate spring-boot jpa