我有 3 种方式将事物写入数据库
public void create(T object) {
entityManager.persist(object);
}
public void update(T object) {
object = entityManager.merge(object);
}
public int updateStatus(String id, String status) {
final int changes =
entityManager.createQuery("update item set state = :newState," +
" last_modified = current_timestamp" +
" where id = : id ")
.setParameter("newState", status)
.setParameter("id", id)
.executeUpdate();
return changes;
}
我遇到的问题是为了让 Hibernate Envers 将审计记录实际写入相应的 x_aud 和 revinfo 数据库表。它仅适用于 '.persist()' 或 '.merge()'。我无法让它为'createQuery(...) .executeUpdate() '工作
我是否遗漏了某些东西,或者它只是为此不起作用。问题是,我的很多代码都是使用 .executeUpdate 而不是合并编写的,所以我真的需要它来处理现有代码。
有人可以帮忙吗?