#hibernate #hibernate-envers
#переход в спящий режим #переход в спящий режим-envers
Вопрос:
У меня есть два домена (пользователь, роль). Оба находятся в отношениях «многие ко многим». переход в спящий режим автоматически генерирует 3 таблицы (User, Role, UserRole).
Я интегрировал hibernate envers для целей аудита. Я могу получить ревизии из таблиц User amp; Role. Как я могу получить ревизии аудита из таблицы аудита роли пользователя.
Здесь мы не создавали домен роли пользователя. На основе отношения «многие ко многим» автоматически создается таблица пользовательских ролей. Таким образом, нет домена (роли пользователя) для получения ревизий аудита из запроса аудита таблицы аудита пользовательских ролей.
Ответ №1:
Поскольку UserRole
это объединяемая таблица, вы хотели бы получить доступ к изменениям в этой ассоциации со стороны владельца этого отношения «многие ко многим». Я собираюсь предположить, для примера, что User
является владельцем ассоциации; таким образом, вы могли бы получить доступ к тем, которые похожи на следующие:
User user = auditReader.find( User.class, userId, revisionNumber );
List<UserRole> userRoles = user.getUserRoles();
Вышеизложенное предоставит вам все UserRole
объекты в таблице соединений в revisionNumber
for User
с указанным значением идентификатора userId
.