I have 3 ways things get written to the DB 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; } The problem I have, is in order to get the Hibernate Envers to actually write the audit records to the corrsponsing x_aud and revinfo DB tables. It only works successfully for '.persist()' or '.merge()'. I cannot get it to work for 'createQuery(...).executeUpdate()'
Am I missing something or does it just not work for this. The problem is, a lot of my code has been written using .executeUpdate and not merge, so really I need this to work with the existing code.
Can anyone help please?
|