user3119018
user3119018

Reputation: 199

Not found 'byId()' and 'find' of ebeans method in playframework 2.4

I want to use 'byId()' of ebeans method in playframework 2.4;

The program returned 'can't find symbol byId()'.

However, '.all()' method can work and get data.(I wonder why).

Here is a code.

import java.util.List;
import models.UserMaster;
import com.avaje.ebean.Model.Finder;
import play.mvc.Controller;
import play.mvc.Result;
import views.html.*;
import com.avaje.ebean.Query;

public class TestController extends Controller {

public Result test(){

    //Finder<Long, UserMaster> finder = new Finder<Long,UserMaster> (Long.class, UserMaster.class);

    UserMaster UserMaster = UserMaster.find.byId(1L);

    return ok(test.render(teststring));

}
}

this is a model(summary).

package models;

import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

import com.avaje.ebean.Model;
import com.avaje.ebean.annotation.CreatedTimestamp;
import com.avaje.ebean.annotation.UpdatedTimestamp;
import com.avaje.ebean.Model.Finder;


@Entity
@Table(name = "user_master")
public class UserMaster extends Model {

   @Id
   @Column(name = "user_id")
   private String userId;

   @Column(name = "user_name")
   private String userName;


   @Column(name = "password")
   private String password;

   @CreatedTimestamp
   @Column(name = "regist_time")
   private Timestamp registTime;


   @UpdatedTimestamp
   @Column(name = "update_time")
   private Timestamp updateTime;

/**
 * find
 */

public static Finder<Long, UserMaster> finder = new Finder<Long,UserMaster> (Long.class, UserMaster.class);


}

I also tried finder.find.byid(1) but it also didn't work. Would you give me a hand ,please?

Upvotes: 0

Views: 497

Answers (1)

AME
AME

Reputation: 2302

Your model:

import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

import com.avaje.ebean.Model;
import com.avaje.ebean.annotation.CreatedTimestamp;
import com.avaje.ebean.annotation.UpdatedTimestamp;
import com.avaje.ebean.*;



@Entity
@Table(name = "user_master")
public class UserMaster extends Model {

   @Id
   @Column(name = "user_id")
   private String userId;

   @Column(name = "user_name")
   private String userName;


   @Column(name = "password")
   private String password;

   @CreatedTimestamp
   @Column(name = "regist_time")
   private Timestamp registTime;


   @UpdatedTimestamp
   @Column(name = "update_time")
   private Timestamp updateTime;

/**
 * find
 */

  public static Find<Long,UserMaster> find = new Find<Long,UserMaster>(){};


}

In your controller:

public class TestController extends Controller {

  public Result test(){

    UserMaster UserMaster = UserMaster.find.byId(1L);

    return ok(test.render(teststring));

  }
}

Upvotes: 1

Related Questions