2012-03-19 5 views
3

Для того чтобы familirise себя с Play 2.0 Framework, я следил за Play 2.0 introduction tutorial. Неподчиненный, я не могу заставить настойчивость Ebean работать. Моя Task.java выглядит следующим образом:Настойчивость Ebean, не работающая в Play 2.0

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(); 
    } 

} 

Но на управлении Applicaton, find и save не могут быть решены. Наверное, я забыл импортировать модуль, но не могу понять, какой из них ...

ответ

2

Как Dan W. уже сказал, что вам нужно расширить Model класс:

@Entity 
public class Task extends Model { 
    .... 
} 

Вы также должны добавить следующий статический METHODE:

public static Finder<Long,Task> find = new Finder(
    Long.class, Task.class 
); 

Также убедитесь, что вы добавили следующие строки к вашему файлу application.conf, чтобы включить в базу данных:

db.default.driver=org.h2.Driver 
db.default.url="jdbc:h2:mem:play" 
ebean.default="models.*" 
7

Я считаю, что вам нужно расширить класс Model.

@Entity 
public class Task extends Model { 
    .... 
} 

Надеюсь, это поможет.

+0

Oh yeah I s s тупой ... но эта доза, похоже, тоже не работает. Я получаю сообщение об ошибке, что 'Model' не может быть найден ... Я в замешательстве! – wowpatrick

+0

@wowpatrick Попробуйте импортировать: play.db.ebean.Model, а также включите модели «ebean.default =» линии. * "" В application.conf - Нашли это в нижней части предоставленной вами ссылки. –

+0

Я неправильно подумал, что 'play.db. *' также будет включать 'play.db.ebean. *'. Но это все еще приводит к исходной ошибке ... – wowpatrick

 Смежные вопросы

  • Нет связанных вопросов^_^