Hibernate Envers — не записывает записи аудита для createQuery(...).executeUpdate(), только .persist() и .merge(). ⇐ JAVA
Hibernate Envers — не записывает записи аудита для createQuery(...).executeUpdate(), только .persist() и .merge().
У меня есть три способа записи данных в БД
public void create(T object) { entityManager.persist(объект); } общественное недействительное обновление (объект T) { объект =entityManager.merge(объект); } public int updateStatus (идентификатор строки, статус строки) { окончательные изменения целого числа = entityManager.createQuery("обновить состояние набора элементов = :newState," + "last_modified = текущая_метка времени" + " где идентификатор = : идентификатор ") .setParameter("newState", статус) .setParameter("идентификатор", идентификатор) .executeUpdate(); вернуть изменения; } У меня проблема заключается в том, чтобы заставить Hibernate Envers фактически записывать записи аудита в соответствующие таблицы БД x_aud и revinfo. Он успешно работает только для «.persist()» или «.merge()». Я не могу заставить его работать для 'createQuery(...).executeUpdate()'
Я что-то упускаю или это просто не работает. Проблема в том, что большая часть моего кода написана с использованием .executeUpdate, а не слияния, поэтому мне действительно нужно это для работы с существующим кодом.
Кто-нибудь может помочь?
У меня есть три способа записи данных в БД
public void create(T object) { entityManager.persist(объект); } общественное недействительное обновление (объект T) { объект =entityManager.merge(объект); } public int updateStatus (идентификатор строки, статус строки) { окончательные изменения целого числа = entityManager.createQuery("обновить состояние набора элементов = :newState," + "last_modified = текущая_метка времени" + " где идентификатор = : идентификатор ") .setParameter("newState", статус) .setParameter("идентификатор", идентификатор) .executeUpdate(); вернуть изменения; } У меня проблема заключается в том, чтобы заставить Hibernate Envers фактически записывать записи аудита в соответствующие таблицы БД x_aud и revinfo. Он успешно работает только для «.persist()» или «.merge()». Я не могу заставить его работать для 'createQuery(...).executeUpdate()'
Я что-то упускаю или это просто не работает. Проблема в том, что большая часть моего кода написана с использованием .executeUpdate, а не слияния, поэтому мне действительно нужно это для работы с существующим кодом.
Кто-нибудь может помочь?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение