2013-01-15 34 views
3

我試圖在Ebean中獲取嵌套對象,但它不起作用。我得到User。它有AddressesAddresses每個都有House。但House只有一個id。所有其他屬性都爲null。我在this other forum上讀到Ebean中可能存在一個錯誤,但它是從2011年開始的。有沒有辦法使這項工作成功?無法在Ebean中獲取某些類型的嵌套對象

注意:地址和房子有OneToOne的關係。

注意:爲簡單起見,我遺漏了@Entity和@Id。

public class User { 
    @OneToMany 
    public List<Address> addresses; 

    public static Finder<String, User> find = new Finder(String.class, User.class); 

    // This is my query 
    public static Event find(Long id) { 
     return find.fetch("addresses").fetch("addresses.house").where().eq("id", id).findUnique(); 
    } 
} 

public class Address { 
    @OneToOne(cascade = CascadeType.ALL, mappedBy = "address") 
    public House house; 
} 

public class House { 
    @OneToOne 
    public Address address; 
    public String somePropertyThatIsNullWhenIUseMyQuery; 
} 
+0

請嘗試此:http://stackoverflow.com/questions/13011874/why-ebean-returns-null-for-no-reason/13018849#13018849 –

+0

嘗試添加:(fetch = FetchType .EAGER) – adis

+1

我不認爲Ebean支持FetchType – Brian

回答

1
Ebean.find(User.class).fetch("addresses.house", new FetchConfig().query()) 

爲我工作。如果仍然沒有看到它,ü可能想使用

Address.getHouse().getSomeProperty() 

有時候當你剛剛通過對象JSON F.E.屬性顯示爲null :(