我之前使用过Playframework 2.1.2。现在我尝试使用最新版本。我尝试在2.1.2中导入play.db.ebean.Model
,但它没有用。然后我发现这被com.avaje.ebean.Model
取代了。但是在jdk 1.8.0_45中没有包com.avaje...
我相信我犯了一个绝对愚蠢的错误,但我看不到它......我如何设置Play与Ebean合作?
由于
答案 0 :(得分:1)
好的,你正在使用Play 2.4.6。你读过JavaEbean documentation了吗?我认为文档很清楚。
步骤:
要启用它,请将Play Ebean插件添加到project/plugins.sbt
中的SBT插件:
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "1.0.0")
然后修改您的build.sbt
以启用Play Ebean插件:
lazy val myProject = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
在application.conf
:
ebean.default = ["models.*"]
此后运行./activator clean run
。这将更新和下载所有必需的依赖项,包括Ebean依赖项!
之后创建您的模型,如:
package models;
import java.util.*;
import javax.persistence.*;
import com.avaje.ebean.Model;
import play.data.format.*;
import play.data.validation.*;
@Entity
public class Task extends Model {
@Id
@Constraints.Min(10)
public Long id;
@Constraints.Required
public String name;
public boolean done;
@Formats.DateTime(pattern="dd/MM/yyyy")
public Date dueDate = new Date();
public static Finder<Long, Task> find = new Finder<Long,Task>(Task.class);
}
答案 1 :(得分:1)
我遇到了同样的问题,并且几个小时都在绞尽脑汁!我仔细地阅读了文档,然后尝试了一些不起作用的不同组合。总之...
如果您正在使用Eclipse(我只是假设),请尝试在命令行上运行activator eclipse
。它会将play-ebean.jar添加到.classpath中,以便Eclipse知道它在哪里。然后,确保在Eclipse中刷新项目。 play-ebean.jar应出现在Referenced Libraries下,您将能够将com.avaje.ebean.*
导入到模型类中。
答案 2 :(得分:0)
根据最新版本(请参见文档:https://www.playframework.com/documentation/2.6.x/JavaEbean#using-model-superclass)
您将需要导入“ io.ebean.Model”而不是“ com.avaje.ebean.Model”