Увеличение числа в таблице при вставке значения в другую таблицу - PullRequest
0 голосов
/ 03 апреля 2012

Я разработал веб-приложение на Java, которое содержит обои, для каждого фонового рисунка есть кнопка «Мне нравится». Если пользователь нажимает на кнопку «Мне нравится», я сохраняю значения «userId», «wallpaperId» и «Мне нравится» в таблице «User_Wallpaper», и у меня есть еще одна таблица «wall_stats» ', которая содержит статистику для обоев, то есть всего понравившихся обоев. Итак, что я хочу ... Если пользователь нажимает кнопку «Мне нравится», мне нужно обновить в «User_Wallpaper», а также увеличить счетчик в «wall_stats» .... Как я могу это сделать? Я использую Hibernate 3.0. Пожалуйста, помогите мне ... спасибо заранее ....:)

Ответы [ 2 ]

0 голосов
/ 03 апреля 2012

Я не уверен, почему вы сохраняете «количество лайков» в таблице User_Wallpaper (может ли пользователь «лайкнуть» обои более одного раза?), Но вместо того, чтобы создавать новую таблицу для wall_stats,Я бы сделал wall_stats представление:

 CREATE TABLE User_Likes_Wallpaper (
     userId NUMBER(10) not null,
     wallpaperId NUMBER(10) not null);

 CREATE VIEW Wall_stats AS
     SELECT wallpaperId, count(*)
       FROM User_Likes_Wallpaper
      GROUP BY wallpaperId

Таким образом, wall_stats всегда актуален ... (хотя вам, вероятно, нужны индексы на User_Likes_Wallpaper)

0 голосов
/ 03 апреля 2012

Вы можете пойти на триггер.Триггер при вставке таблицы User_Wallpaper может обновлять таблицу wall_stats.

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