使用 Play Framework 在数据库中查找单个对象

Finding single object in database using Play Framework

我在 2.4 版中设置了一个普通的 Play Framework - Java 项目。创建自定义模型对象并 return 它们的列表非常容易。我正在使用 ebean 持久化对象。

但是我如何使用 GET return 单个对象?

路线:

GET     /payments/:id          controllers.Application.getPayment(id: Long)

并且控制器尝试通过 Id 查找对象:

public Result getPayment(Long id) {
    Payment payment = Payment.find.byId(id);
    return ok(toJson(payment));
}

但我的应用程序不知道 find 是什么。

我按照官方的说明做了Play documentation

编辑:我的 Payment.class

package models;

import com.avaje.ebean.Model;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Payment extends Model {

@Id
Long id;
String name;

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}
}

您的付款 class 没有 find 字段。

添加这个:

public static Finder<Long,Payment> find = new Finder<>(Long.class,Payment.class);