JBoss Envers ManyToOne Auditing - PullRequest
1 голос
/ 13 июня 2011

Гипотетический сценарий: у меня есть две модели: Author и Book.Модель Book имеет отношение «многие к одному» для Author.

Допустим, я хочу проверять изменения только на Book.Я аннотирую класс с помощью @Audited, но получаю сообщение об ошибке с жалобой на то, что свойство getAuthor() для Book не может быть проверено, поскольку Author не проверено.

Почему это так?Я хочу провести аудит, если автор книги изменится, но мне все равно, изменится ли псевдоним авторов.Не имеет смысла иметь таблицу author_aud в моей базе данных, но, по-видимому, это невозможно, если я не проверю модель Author ИЛИ специально не аннотирую свойство getAuthor() с помощью @Audited(...) с помощьюсвойство игнорировать отношения.Однако, если я сделаю это, я больше не смогу проверять отношения книга / автор.

Ответы [ 2 ]

1 голос
/ 22 апреля 2013

Добавьте это отображение в отношение ManyToOne.

@ Audited (targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)

0 голосов
/ 23 ноября 2011

Вероятно, вы не сможете проверить книгу и ее отношения с автором, если автор не прошел аудит.Возможно, вам следует изменить способ отображения отношения: странно иметь книгу, «принадлежащую» ее автору: я бы установил однонаправленное отношение много-много-одного от автора к его книгам.С этой концепцией вы сможете проверять книги без проверки авторов.

...