2017-09-04 11 views
1

私のアプリケーションにトップ10ユーザーのRecyclerViewがあります。 SQLのSQL VIEWから読み込んだカーソルを、外部キーに関連するさまざまなテーブルから集計して、そのテーブルに挿入します。新しいRoomライブラリを使用するためにSQLiteボイラープレートを書き直したいと思います。しかし、SQL VIEWをルームでどのように実装するのか分かりません。 DAOはエンティティ(テーブル)のみのようですが、おそらく私は何かが欠けているかもしれません。新しいルームパーシスタンスライブラリーのCREATE VIEW同等物

+1

質問の更新の約束を削除しました。なぜなら、質問には長期間メッセージが残っていることが多いからです。一般的には、あなたが読者を示すために必要なものすべてを得るまで質問を投稿しないようにするのが最善です。 – halfer

+1

@halferええ、私は質問に飛び乗って今日終えることができると思ったが、将来はすべてが準備ができている間中止するだろう。 – flopshot

答えて

2

DAOの複数のテーブルを結合するPOJOを使用することもできます。 Room documentationから:

@Dao 
public interface MyDao { 
    @Query("SELECT user.name AS userName, pet.name AS petName " 
      + "FROM user, pet " 
      + "WHERE user.id = pet.user_id") 
    public LiveData<List<UserPet>> loadUserAndPetNames(); 

    // You can also define this class in a separate file, as long as 
    // you add the "public" access modifier. 
    static class UserPet { 
     public String userName; 
     public String petName; 
    } 
} 

また、これは集計関数で正常に動作します。

関連する問題