3

我正在尝试在 Ebean 中获取嵌套对象,但它不起作用。我得到User. 它有Addresses. 每个Addresses都有一个House. 但是House只有一个id。所有其他属性为空。我在另一个论坛上读到,Ebean 中可能有一个错误,但它是从 2011 年开始的。有没有办法让它工作?

注意:地址和房屋有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;
}
4

1 回答 1

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

为我工作。如果你仍然没有看到它,你可能想使用

 Address.getHouse().getSomeProperty()

有时,当您只是将对象传递给 JSON fe 属性时,显示为 null :(

于 2013-01-24T10:06:02.807 回答