Я следую приложение 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
?
Поздравления!