2016-04-15 19 views
0

我有一個名爲AdminRole@SqlDelete不處於休眠工作軟刪除

ADMIN_ROLE_ID一個表|描述| NAME | ARCHIVED

我需要刪除AdminRole中的一條記錄,因爲管理角色非常重要。我需要執行軟刪除而不是硬刪除。爲此,我嘗試使用@SqlDelete hibernate註釋。我的實體類是這樣的:

@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; 
... 
... 
} 

我必須顯示在前端記錄時ARCHIVEDN如果是Y記錄是不可見的前端,當我創建管理員角色ARCHIVED被成功地設置爲N和在前端顯示。但問題是,當我嘗試從前端刪除admin role時,ARCHIVED未設置爲Y,因爲此記錄顯示在前端。

在DAO

public AdminDAO { 

    protected EntityManager manager; 

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

爲什麼@SqlDelete工作不適合我誰能幫助我?日誌文件沒有出現異常。當這@SqlDelete將被執行?

回答

1

我自己解決了這個問題,問題是從我的身邊只有我不小心更新不同的表,現在我改變了它爲我adminrole

之前

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

​​

發佈此問題後,我意識到我的薄霧ake ..