Это очень распространенная ситуация, поэтому я ожидаю хорошего решения. В основном нам нужно обновить счетчики в наших таблицах. Например, посещение веб-страницы:
Web_Page
--------
Id
Url
Visit_Count
Так что в спящем режиме у нас может быть такой код:
webPage.setVisitCount(webPage.getVisitCount()+1);
Проблема с чтениями в mysql по умолчанию - не обращайте внимания на транзакции. Таким образом, веб-страница с высокой посещаемостью будет иметь неточные подсчеты.
Я привык делать такие вещи просто по телефону:
update Web_Page set Visit_Count=Visit_Count+1 where Id=12345;
Наверное, мой вопрос: как мне это сделать в Hibernate? А во-вторых, как я могу сделать такое обновление в Hibernate, которое немного сложнее?
update Web_Page wp set wp.Visit_Count=(select stats.Visits from Statistics stats where stats.Web_Page_Id=wp.Id) + 1 where Id=12345;