【问题标题】:Play Framework Ebean query retreivalPlay Framework Ebean 查询检索
【发布时间】:2015-07-02 05:22:48
【问题描述】:

我想在我的银行应用中显示当前登录用户的前 5 笔交易。

public static Model.Finder<String,Transaction> find = new Model.Finder<String,Transaction>(String.class,Transaction.class);

public static List<Transaction> fetchTransactions (String currentUser) {
    return find.where().eq("user.username",currentUser).setMaxRows(5).findList();
}

我也试过 Ebean.find 函数:

@Inject 
List<Transaction> list = Ebean.find(Transaction.class).fetch("transNature").fetch("amount").where().eq("user.username",User.findByEmail(request().username()).username).findList();

我做错了什么?

【问题讨论】:

    标签: java playframework ebean


    【解决方案1】:

    如果您想获得最后 5 笔交易,那么您必须按各个列包含顺序,例如按降序排列的 transactionDate。否则 Ebean 默认情况下,按 id 升序获取行。所以你总是会从你的事务表中得到前 5 行。

    试试这个,

    public static List<Transaction> fetchTransactions(String currentUser) {
      return find.where().eq("user.username",currentUser).orderBy("transactionDate desc").setMaxRows(5).findList();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多