2016-04-15 22 views
0

でソフト削除のために働いていない私はのAdminRole@SqlDeleteが休止状態

ADMIN_ROLE_IDと呼ばれる一つのテーブルを持っています| | NAME | ARCHIVED

管理者ロールは非常に重要なので、AdminRoleからレコードを削除する必要があります。私はハード削除の代わりにソフト削除を実行する必要があります。このため、私は@SqlDelete休止状態の注釈を使用しようとしています。私のエンティティクラスがこれです:

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

それは私が管理者の役割ARCHIVEDを作成するときにYレコードは、フロントエンドでは表示されませんであればNARCHIVEDが正常にNに設定されたとき、私は、フロントエンドでのレコードを表示する必要があるとフロントエンドに表示されます。しかし、問題はフロントエンドからがYに設定されていないフロントエンドからadmin roleを削除しようとするときです。

DAOで

public AdminDAO { 

    protected EntityManager manager; 

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

誰も私を助けることができる理由@SqlDeleteは私のために働いていないのですか?ログファイルに対して例外は発生しません。この@SqlDeleteが実行されると、

答えて

1

私はこの問題は私だけ誤って更新され別のテーブル私の側からで、今私は

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

前に私のadminroleテーブル

のためにそれを変更し、自分でこの問題を解決し​​

この質問を投稿した後、私はミストを実現しましたake ..