Я покажу вам код. Это скажет больше, чем слова.generic controller - play framework
BaseModel:
import com.avaje.ebean.ExpressionList;
import com.avaje.ebean.Model;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
@MappedSuperclass
public abstract class BaseModel extends Model {
@Id
public Long id;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public static <T extends Model> ExpressionList<T> find() {
return null;
}
}
BaseController:
import com.avaje.ebean.ExpressionList;
import models.BaseModel;
import play.db.ebean.Model;
import play.libs.Json;
import play.mvc.Controller;
import javax.xml.transform.Result;
public class BaseController<T extends BaseModel> extends Controller {
private Model.Finder<Long,T> finder;
public Result GetAll() {
List<T> list = T.find().where().orderBy("name asc").findList();
if (request().accepts("text/html")) {
return ok(index.render(list));
} else{
return badRequest();
}
if (request().accepts("application/json")) {
return ok(Json.toJson(list));
} else {
return badRequest();
}
}
У меня есть проблема со списком
List<T> data = T.find().where().orderBy("buildingTypeId asc").findList();
Требуется List <T>
Найдено List<com.avaje.ebean.Model>
Хотя в некоторых случаях код может говорить больше, чем слова, в этом случае некоторые слова объяснения были бы полезны (например, сообщение об ошибке или исключение). – hotzst