уведомление об изменении объектов домена (Hibernate / Java) - PullRequest
2 голосов
/ 28 октября 2009

Есть ли решение для подписки на изменения объекта домена для Hibernate или любой другой основной структуры отображения O / R? Например, если у меня есть таблица в базе данных под названием «Apple», я бы хотел сказать «уведомить меня, когда какой-либо объект Apple изменился» или «уведомить меня, когда поле« цвет »любого объекта Apple изменилось». Конечно, я ожидал бы не просто «что-то изменило» уведомление, а скорее список идентификаторов измененных объектов или список измененных объектов. Было бы неплохо, чтобы такое решение было масштабируемым.

для суммирования требований:

  1. Все изменения в БД будут проходить через ORM
  2. Это должно быть полное решение, в котором можно разместить подписку, используя выражение типа "подписаться на вопрос q, где q.title похоже на"% hibernate% "" где " Вопрос "это сущность (объект Java, сопоставленный с таблицей в базе данных), для которого я заинтересован в обновлениях. Не нужно быть строковым запросом, но должен быть общий способ разместить запрос.

1 Ответ

3 голосов
/ 28 октября 2009

Будут ли все изменения, которые генерируют эти уведомления, проходить через ORM или возможно изменение данных через JDBC или другое приложение, обращающееся к той же базе данных?

Если все изменения проходят через ORM и вы используете Hibernate, тогда вы можете использовать перехватчики и события Hibernate .

С другой стороны, если все изменения данных не проходят через ORM и код, который обрабатывает уведомления, довольно прост, триггеры базы данных могут быть лучшим выбором.

...