Java Ebean持久性在Play 2.0中不起作用
为了熟悉Play 2.0框架,我一直在遵循。不幸的是,我无法让Ebean坚持发挥作用。我的Java Ebean持久性在Play 2.0中不起作用,java,playframework-2.0,ebean,Java,Playframework 2.0,Ebean,为了熟悉Play 2.0框架,我一直在遵循。不幸的是,我无法让Ebean坚持发挥作用。我的Task.java如下所示: package models; import java.util.*; import play.db.*; import play.data.validation.Constraints.*; import javax.persistence.*; @Entity public class Task { @Id public Long id;
Task.java
如下所示:
package models;
import java.util.*;
import play.db.*;
import play.data.validation.Constraints.*;
import javax.persistence.*;
@Entity
public class Task {
@Id
public Long id;
@Required
public String label;
public static List<Task> all() {
return find.all();
}
public static void create(Task task) {
task.save();
}
public static void delete(Long id) {
find.ref(id).delete();
}
}
封装模型;
导入java.util.*;
导入play.db.*;
导入play.data.validation.Constraints.*;
导入javax.persistence.*;
@实体
公开课任务{
@身份证
公共长id;
@必需的
公共字符串标签;
公共静态列表所有(){
返回find.all();
}
公共静态无效创建(任务){
task.save();
}
公共静态无效删除(长id){
find.ref(id.delete();
}
}
但在运行应用程序时,
find
和save
无法解决。我想我忘了导入一个模块,但我不知道上面哪个是…我认为您需要扩展模型
类
@Entity
public class Task extends Model {
....
}
希望这有帮助。正如Dan W.已经说过的,您需要扩展
模型
类:
@Entity
public class Task extends Model {
....
}
您还必须添加以下静态方法:
public static Finder<Long,Task> find = new Finder(
Long.class, Task.class
);
哦,是的,我很愚蠢。。。但这似乎也不起作用。我发现一个错误,
Model
找不到。。。我糊涂了@wowpatrick尝试导入:play.db.ebean.Model,并在application.conf中启用行“ebean.default=“models.*”-在您提供的链接的底部找到此行。我错误地认为play.db.*
还包括play.db.ebean.
。但它仍然会导致最初的错误…显然我拒绝建议。。。我发现了问题,自己回答了问题。谢谢你的帮助和时间@wowpatrick如果你已经解决了问题,你应该回答并接受你的答案,这样其他人可以看到你做了什么,以防他们遇到类似的问题。
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
ebean.default="models.*"