【问题标题】:Increase quantity in duplicate insertion jpa增加重复插入jpa中的数量
【发布时间】: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


【解决方案1】:

您可以使用FluentJPA,结合ON DUPLICATE KEY UPDATE 子句。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-07
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多