0

特定のIDでデータを取得したいだけです。クエリを含む私のメソッドは次のとおりです。

public static List getidProducts(Integer id) {
    List<Products> productsid = Products.find("product_id IN:id").bind("id", id).fetch();
    return productsid;
}

エラーが発生しています:シンボルが見つかりません。これは、エラーがメソッドfind()にあることを示しています。どこが間違っていますか?Plsは私に提案します。

ここに私のproducts.javaがあります

package models;

import java.util.*;
import javax.persistence.*;
import play.db.ebean.*;
import play.data.format.*;
import play.data.validation.*;
import com.avaje.ebean.*;
import java.sql.*;

public class Products extends Model {

    @Id
    public Integer product_id;

    @Constraints.Required
    public String productname;

    @Constraints.Required
    public Integer quantity;
    @Constraints.Required
    public Integer price;

    public static Finder<Integer,Products> find = new Finder<Integer,Products>(Integer.class, Products.class); 

    public static List getidProducts(Integer id) {
        return Products.find().where().in("id", id).findList();
    }
}
4

1 に答える 1

1

これはまだEbeanですか?奇妙なアプローチ、これを試してください:

public static List<Products> getidProducts(Integer id) {
    return Products.find.where().in("product_id", id).findList();
}

Nota beneはあなたのproduct_id固有のフィールドではありませんか?このような場合は、ListではなくProductsオブジェクトを返す必要があります。

public static Products getidProducts(Integer id) {
    return Products.find.where().eq("product_id", id).findUnique();
}

またはより単純:

public static Products getidProducts(Integer id) {
    return Products.find.byId(id);
}
于 2013-01-08T05:49:05.350 に答える