Передача данных слушателю ревизии envers - PullRequest
1 голос
/ 12 августа 2011

Я пытаюсь сохранить комментарии редакции, используя RevisionEntity от Enver, чтобы она находилась в той же таблице, что и идентификатор редакции и отметка времени, и сохранялась только один раз, даже если несколько сущностей были изменены.

Мой текущий подход

  • действие контроллера, которое обрабатывает запрос, помещает комментарии в переменную сеанса
  • мой пользовательский RevisionListener считывает переменную сеанса, добавляет комментарии в RevisionEntity и очищает переменную сеанса

Я не очень доволен таким подходом.Кажется, он будет склонен к гонкам и другим глупым действиям.Есть ли способ, как я могу сделать это более твердым?Может быть, путем доступа к RevisionEntity непосредственно в действии контроллера?

1 Ответ

2 голосов
/ 12 августа 2011

Я не уверен, что я действительно понимаю вашу проблему, но если вы хотите сохранить только некоторую информацию во время обработки запроса, вы можете использовать Http.Request.current().args. Как говорится в описании в документации API , это:

Свободное место для хранения данных вашего запроса

Вашему действию контроллера нужно будет просто скопировать комментарии из params (или откуда бы они ни поступали) и сохранить их на карте args, а затем RevisionListener сможет извлечь их оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...