2017年9月5日火曜日

Roomでの対象テーブルのEntity全削除方法

Android Oから追加されたLibraryでAndroid Architecture Componentsがあるが、その中のSQLITE操作libraryのRoom。

Roomの公式

Update/Deleteに関してはテーブルに沿ったEntityをとり、そのPrimaryKeyを見て自動でUpdate/Deleteしてくれるすぐれもの。

しかし、PrimaryKey以外で条件付けしたり登録されているすべてのEntityにUpdate/Deleteするときはどうするか。

stackoverflowでズバリ書いてる人がいました。
https://stackoverflow.com/a/44249498
DAOのメソッドにつけるアノテーションをDeleteではなくSELECT文と同じ@Queryで好きなDELETE文が書けます。自分はDELETE FROM hogehogeで全削除しかしてませんが、引数をキーにしてのUPDATE/DELETEもこれでできそうです。

0 件のコメント:

コメントを投稿