2012-04-03 6 views
0

Ich habe eine Java-Webanwendung entwickelt, die Hintergrundbilder enthält. Es gibt eine Schaltfläche für jedes Hintergrundbild. Wenn ein Benutzer auf Like klickt, dann speichere ich userId, wallpaperId und like count in ' User_Wallpaper 'Tabelle, und ich habe eine andere Tabelle' wall_stats ', die Statistiken für wallpaers enthält, dh insgesamt beliebte Tapeten. Also, was ich will ... Wenn Benutzer wie Schaltfläche klickt, dann muss ich in 'User_Wallpaper' aktualisieren und auch die Anzahl in 'wall_stats' erhöhen ... Wie kann ich das tun? Ich verwende Hibernate 3.0. Bitte helfen Sie mir ... Vielen Dank im Voraus .... :)Inkrementieren Sie die Anzahl in einer Tabelle und fügen Sie den Wert in eine andere Tabelle ein

Antwort

0

Ich bin mir nicht sicher, warum Sie die "like count" in der User_Wallpaper Tabelle speichern (kann ein Benutzer ein Hintergrundbild mehr als einmal "mögen"), aber anstatt eine neue Tabelle für die wall_stats zu erstellen, würde ich machen wall_stats eine Ansicht:

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 

So werden die wall_stats ist immer up-to-date ... (obwohl Sie wahrscheinlich wollen eine Indizes auf User_Likes_Wallpaper)

+0

dank für ur Antwort benny23 .... :) Ansicht ist nicht sinnvoll :-(, Ich möchte die Zählung in der 'Wall_stats' Tabelle aktualisieren .... und ich habe auch mehr Felder in 'Wall_stats' Tabelle .... –

0

Sie können für Trigger gehen. Ein Trigger beim Einfügen von User_Wallpaper Tabelle kann Update auf wall_stats Tabelle.

Verwandte Themen