Java 播放框架Ebean查询检索
我想在我的银行应用程序中显示当前登录用户的前5笔交易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
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();
}