/**
   * 指定したuserModelとContentModel両方にマッチするリストを取得
   *
   * @param userModel
   * @param contentModel
   * @return
   */
  public List<TransmitHistoryModel> getListByUserAndCountent(
      UserModel userModel, ContentModel contentModel) {
    ModelRefAttributeMeta<TransmitHistoryModel, ModelRef<UserModel>, UserModel> userRefMeta =
        meta.userModelRef;
    ModelRefAttributeMeta<TransmitHistoryModel, ModelRef<ContentModel>, ContentModel>
        contentRefMeta = meta.contentModelRef;

    return Datastore.query(meta)
        .filter(userRefMeta.equal(userModel.getKey()), contentRefMeta.equal(contentModel.getKey()))
        .asList();
  }
  /**
   * コンテンツのバトロン一覧を取得
   *
   * @param contentModel
   * @param num
   * @return
   */
  public S3QueryResultList<TransmitHistoryModel> getPatronListByContent(
      ContentModel contentModel, int num) {

    ModelRefAttributeMeta<TransmitHistoryModel, ModelRef<ContentModel>, ContentModel> refMeta =
        meta.contentModelRef;

    S3QueryResultList<TransmitHistoryModel> list =
        Datastore.query(meta)
            .filter(refMeta.equal(contentModel.getKey()))
            .sort(new Sort(meta.createDate, SortDirection.DESCENDING))
            .limit(num)
            .asQueryResultList();

    return list;
  }
  /**
   * コンテンツのバトロン一覧を取得
   *
   * @param contentModel
   * @param num
   * @param cursor
   * @return
   */
  public S3QueryResultList<TransmitHistoryModel> getPatronListByContent(
      ContentModel contentModel, int num, String cursor) {

    if (StringUtil.isEmpty(cursor)) return getPatronListByContent(contentModel, num);

    ModelRefAttributeMeta<TransmitHistoryModel, ModelRef<ContentModel>, ContentModel> refMeta =
        meta.contentModelRef;

    S3QueryResultList<TransmitHistoryModel> list =
        Datastore.query(meta)
            .filter(refMeta.equal(contentModel.getKey()))
            .encodedStartCursor(cursor)
            .sort(new Sort(meta.createDate, SortDirection.DESCENDING))
            .limit(num)
            .asQueryResultList();

    return list;
  }