我们可以使用@PostUpdate跟踪更新的实体:
@Entity
public class Author {
...
@PostUpdate
public void postUpdate() {
Tracker.trackEntity(this);
}
}
当我们使用 EntityManager.merge(...)更新实体时,将调用 postUpdate()。
但我如何跟踪使用批量更新修改的实体( EntityManager.createQuery(...)。executeUpdate())?
答案 0 :(得分:2)
除非您首先查询受该UPDATE查询影响的实体,否则您不能这样做。这是UPDATE查询的要点,它直接进入数据库,并且没有回调或回级等内容。