在插入和更新后必须进行选择以读取触发器放置的值。
您可以使用INSERT ... RETURNING
或UPDATE ... RETURNING
检索由触发器更改的值,因此无需执行其他SELECT。
除此之外,我会说这取决于您的环境。如果应用程序是关键任务,并且如果这些列的维护不正确,将导致惨败,那么我会坚持使用触发器。
如果这只是为了前端的方便(并且可以优雅地处理由于不正确的值引起的冲突),那么JPA方法可能更易于维护。
使用触发器与JPA @PrePersist进行创建和更新时间戳的利弊
在插入和更新后必须进行选择以读取触发器放置的值。
您可以使用INSERT ... RETURNING
或UPDATE ... RETURNING
检索由触发器更改的值,因此无需执行其他SELECT。
除此之外,我会说这取决于您的环境。如果应用程序是关键任务,并且如果这些列的维护不正确,将导致惨败,那么我会坚持使用触发器。
如果这只是为了前端的方便(并且可以优雅地处理由于不正确的值引起的冲突),那么JPA方法可能更易于维护。