2016-04-15 3 views
0

Ich habe eine Tabelle namens AdminRole@SqlDelete arbeitet nicht für weiche Deletion in Hibernate

ADMIN_ROLE_ID | BESCHREIBUNG | NAME | ARCHIVED

Ich brauche einen Datensatz aus AdminRole löschen als Admin-Rolle ist sehr wichtig. Ich muss eine weiche Löschung anstelle einer harten Löschung durchführen. Dazu versuche ich @SqlDelete Hibernate Annotation zu verwenden. Meine Entitätsklasse ist dies:

@Entity 
@table(name="ADMINROLE") 
@SqlDelte(sql="UPDATE ADMINROLE SET ARCHIVED = 'Y' WHERE ADMIN_ROLE_ID=?") 
public class AdminRole{ 
@column(name="ADMIN_ROLE_ID") 
protected Lond id; 
@column(name="DESCRIPTION") 
protected String description; 
@column(name="NAME") 
protected String name; 
... 
... 
} 

Ich habe den Rekord auf Front-End zu zeigen, wenn ARCHIVED in N wenn es Y Datensatz ist nicht sichtbar vor Ende, als ich Admin-Rolle erstellen ARCHIVED setzt auf N erfolgreich und zeigt am vorderen Ende. Aber das Problem ist, wenn ich versuche, die admin role von Front-End zu löschen die ARCHIVED ist nicht auf Y aufgrund dieser Aufzeichnung wird am Front-End angezeigt.

In DAO

public AdminDAO { 

    protected EntityManager manager; 

    public void remove(Serializable entity){ 
     manager.remove(entity) 
    } 
} 

warum ist @SqlDelete ist nicht für mich arbeiten kann mir jemand helfen? In der Protokolldatei wurde keine Ausnahme ausgelöst. Wann wird @SqlDelete ausgeführt?

Antwort

1

ich dieses Problem von mir gelöst, Problem von meiner Seite ist nur ich versehentlich aktualisiert andere Tabelle jetzt habe ich es für meine adminrole Tisch

Vor

@SqlDelte(sql="UPDATE ROLE SET ARCHIVED = 'Y' WHERE ROLE_ID=?")

nach

@SqlDelte(sql="UPDATE ADMINROLE SET ARCHIVED = 'Y' WHERE ADMIN_ROLE_ID=?")

nach dem Posten dieser Frage erkannte ich meinen Nebel ake ..

Verwandte Themen