我有3個方面的東西被寫入到數據庫休眠Envers - 不寫入審覈記錄的createQuery(...)的executeUpdate(),僅.persist()和.merge()
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實際將審計記錄寫入corrsponsing x_aud和revinfo數據庫表中。它僅適用於'.persist()'或'.merge()'。我無法讓它爲'createQuery(...).executeUpdate()'
'我是錯過了什麼,或者它只是沒有爲此工作。問題是,我的很多代碼都是使用.executeUpdate編寫的,而不是合併,所以我真的需要這個來處理現有的代碼。
任何人都可以幫忙嗎?
它是一個SQL查詢或HQL查詢? –
嗨,是的,它是HQL。 – babb