2014-01-31 2 views
0

Я следую приложение ZenTask для плей-рамочном учебник и я в настоящее время оказались здесь: http://www.playframework.com/documentation/2.2.x/JavaGuide3Почему Ebean не загружает проект поля из приложения примера ZenTasks?

Теперь я думаю, что я либо нашли ошибку или я что-то не хватает в моих рассуждениях, во всяком случае, учебник имеет следующую строку кода в Application.java:

Task.find.all() 

класс задач имеет два интересных поля:

@ManyToOne 
public User assignedTo; 

@ManyToOne 
public Project project; 

Теперь у меня есть следующие тестовые случаи:

@Test 
public void successUserLoadTest(){ 

    List<Task> tasks = Task.find.all(); 

    for(Task t : tasks){ 

     if(t.assignedTo != null) 
      assertNotNull(t.assignedTo.name); 
    } 
} 

@Test 
public void failingProjectLoadTest(){ 

    List<Task> tasks = Task.find.all(); 

    for(Task t : tasks){ 

     if(t.project != null) 
      assertNotNull(t.project.name); 
    } 
} 

@Test 
public void successProjectLoadTest(){ 

    List<Task> tasks = Task.find.fetch("project").findList(); 

    for(Task t : tasks){ 

     if(t.project != null) 
      assertNotNull(t.project.name); 
    } 
} 

Проблема заключается в том, что поле проекта не заполнено/загружено, пока поле назначено. И когда я явно загружаю поле проекта, проблем нет.

Любая идея, как я могу это решить или лучше практиковать, чтобы явным образом загружать все поля ManyToOne?

Поздравления!

ответ

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