Java 播放框架Ebean查询检索

Java 播放框架Ebean查询检索,java,playframework,ebean,Java,Playframework,Ebean,我想在我的银行应用程序中显示当前登录用户的前5笔交易 public static Model.Finder<String,Transaction> find = new Model.Finder<String,Transaction>(String.class,Transaction.class); public static List<Transaction> fetchTransactions (String currentUser) { ret

我想在我的银行应用程序中显示当前登录用户的前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();
}
publicstaticmodel.Finder=newmodel.Finder(String.class,Transaction.class);
公共静态列表获取事务(字符串currentUser){
返回find.where();
}
我还尝试了Ebean.find函数:

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

我做错了什么?

如果你想得到最后5笔交易,那么你必须按相应的列包括订单,比如按降序排列的transactionDate。否则,默认情况下,按id按升序获取行。因此,您将始终从事务表中获取前5行

试试这个

public static List<Transaction> fetchTransactions(String currentUser) {
  return find.where().eq("user.username",currentUser).orderBy("transactionDate desc").setMaxRows(5).findList();
}
公共静态列表获取事务(字符串currentUser){
返回find.where().eq(“user.username”,currentUser).orderBy(“transactionDate desc”).setMaxRows(5.findList();
}