Этот вопрос уже обсуждался здесь, однако , это не решило мою проблему.
Пусть у нас есть простой проверенный класс Person с некоторой строковой информацией, такой как имя и т. д., и со списком адресов электронной почты String. Теперь я хочу удалить конкретного человека из базы данных вместе со всеми его версиями. Я знаю, что это не обычный вариант использования Envers, но это важно для моего проекта. Я понимаю, что я могу использовать что-то вроде этого:
"удалить из full.package.name.Person_AUD u, где u.originalId.id = :personid"
Однако это не удаляет записи, связанные с этим человеком, в таблице адресов электронной почты, поскольку для этого отношения нет ограничений. Или я что-то не так делаю?
Я также думал об удалении записи из таблицы REVINFO (в таблицах аудита есть ограничения на отношение к таблице REVINFO), но это небезопасно, так как в одной транзакции может быть изменено больше объектов, и, следовательно, больше объектов может иметь один и тот же номер версии. .
Мой вопрос: есть ли простой способ удалить все записи из всех таблиц аудита для любого человека?