通过JPQL UPDATE查询获取更新的实体

时间:2014-10-04 18:41:04

标签: java hibernate jpa jpql

我们可以使用@PostUpdate跟踪更新的实体:

@Entity
public class Author {

    ...

    @PostUpdate
    public void postUpdate() {
        Tracker.trackEntity(this);
    }
}

当我们使用 EntityManager.merge(...)更新实体时,将调用 postUpdate()

但我如何跟踪使用批量更新修改的实体( EntityManager.createQuery(...)。executeUpdate())?

1 个答案:

答案 0 :(得分:2)

除非您首先查询受该UPDATE查询影响的实体,否则您不能这样做。这是UPDATE查询的要点,它直接进入数据库,并且没有回调或回级等内容。