Playframework 当查询多个面时,如何获取单面对象值?

Playframework 当查询多个面时,如何获取单面对象值?,playframework,many-to-one,ebean,Playframework,Many To One,Ebean,我使用play framework进行web示例练习,并遇到与多通相关的问题。 我的对象关系如下: @Entity @Table(name="account") public class User extends Model{ @Id @Constraints.Required @Formats.NonEmpty @MinLength(4) public String name; @Constraints.Requ

我使用play framework进行web示例练习,并遇到与多通相关的问题。
我的对象关系如下:

@Entity 
@Table(name="account")  
public class User extends Model{  

    @Id  
    @Constraints.Required  
    @Formats.NonEmpty  
    @MinLength(4)  
    public String name;  

    @Constraints.Required  
    @Email  
    public String email;  
    public User(String username, String email) {
        this.name       = username;
        this.email      = email;
    }
}
@Entity 
@Table(name="note")  
public class Note  extends Model{  
    @Id  
    public Long id;  

    @Constraints.Required  
    public String title;  

    @Required  
    @ManyToOne  
    public User user;  

    public static Model.Finder<Long,Note> find = new Model.Finder<Long, Note>(Long.class, Note.class);  
    public Note(User author,String title,) {
        this.user           = author;
        this.title          = title;
    /**  
    * Retrieve the user's note  
    */  
    public static List<Note> findByUser(User user) {  
        return find.where().eq("user", user).findList();  
    }  
    ××this test is at another junit test case ××
    @Test  
    public void createNotes()  {  
        User bob = new User("bob","bob@gmail.com");  
        bob.save();  
        Note  note1= new Note(bob, "My notes");  
        note1.save();  
        List<Note> bobNotes = Note.findByUser(bob);  
        Assert.assertEquals(1, bobNotes .size());  
        Note firstNote = bobNotes .get(0);  
        assertNotNull(firstNote);  
        assertEquals(bob, firstNote.user);  
        assertEquals("My notes", firstNote.title);  
        assertEquals("bob", firstNote.user.name);  
        assertEquals("bob@gmail.com", firstNote.user.email);  
    }  
@实体
@表(name=“account”)
公共类用户扩展模型{
@身份证
@约束条件。必需
@格式。非空
@最小长度(4)
公共字符串名称;
@约束条件。必需
@电子邮件
公共字符串电子邮件;
公共用户(字符串用户名、字符串电子邮件){
this.name=用户名;
this.email=电子邮件;
}
}
@实体
@表(name=“note”)
公共类注释扩展了模型{
@身份证
公共长id;
@约束条件。必需
公共字符串标题;
@必需的
@许多酮
公共用户;
publicstaticmodel.Finder=newmodel.Finder(Long.class,Note.class);
公共注释(用户作者、字符串标题){
this.user=作者;
this.title=标题;
/**  
*检索用户的注释
*/  
公共静态列表findByUser(用户){
返回find.where().eq(“user”,user).findList();
}  
××此测试在另一个junit测试用例中××
@试验
public void createNotes(){
用户bob=新用户(“bob”bob@gmail.com");  
save();
注1=新注(鲍勃,“我的注”);
注1.保存();
List bobNotes=Note.findByUser(bob);
Assert.assertEquals(1,bobNotes.size());
notefirstnote=bobNotes.get(0);
assertNotNull(第一个注释);
assertEquals(bob,firstNote.user);
assertEquals(“我的笔记”,firstNote.title);
assertEquals(“bob”,firstNote.user.name);
资产质量(”bob@gmail.com“,firstNote.user.email);
}  
我的问题是:
assertEquals(“bob”,firstNote.user.name)
已通过,但
assertEquals(“bob@gmail.com“,firstNote.user.email);
失败并将
firstNote.user.email
显示为空


如何获取用户的其他字段?

findByUser
方法更改如下,问题就消失了:

/**  
 * Retrieve the user's note  
 */  
public static List<Note> findByUser(User user) {  
    return find.join("user").where().eq("user", user).findList();  
}  
/**
*检索用户的注释
*/  
公共静态列表findByUser(用户){
返回find.join(“用户”).where().eq(“用户”),user.findList();
}  

问题是传递了assertEquals(“bob”,firstNote.user.name),但传递了assertEquals(“bob@gmail.com,firstNote.user.email);失败并显示firstNote.user.email为空。那么如何获取用户的其他字段,我已入侵google和stackoverflow,无法找到答案,谢谢。在POJO中进行单元测试很奇怪……此外,
@Entity
注释在您的类中丢失。您确定用户构造中没有错误吗或者。你能把它的代码写下来吗?请回答,我已经修改了描述。@nico_ekito,我错过了一些声明。@Seb Cesbron,我已经更改了构造函数,谢谢。请将源代码发布到构造函数
新用户(“bob”bob@gmail.com”;