Reputation: 199
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
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