1
我有一個Play 2.2應用程序,我使用的是ebean 3.2.2。 我有兩個表:UserModel和Schedule。 UserModel可以有一個Schedule,Schedule可以有很多UserModels。 這裏是類的樣子:播放/ Ebean沒有獲取ManyToOne相關對象的所有屬性
@Entity
public class UserModel extends Model {
@Id
public String email;
public String other, attributes;
@ManyToOne
public Schedule defaultSchedule;
@OneToMany
public List<Task> tasks;
}
@Entity
public class Schedule extends Model {
@Id
public Long id;
@OneToMany
public List<UserModel> owners;
public String other, attributes;
}
我會做一個更新的usermodel像這樣:
userModel.defaultSchedule = newSchedule;
userModel.update();
當我運行一個查詢:
UserModel.find.where().eq("email", email).findUnique()
我查看UserModel.defaultSchedule內部,發現只有Id被填充。 其餘的字段都是空的,這是我試圖解決的問題。
的原因,這是特別令人費解給我,是我有另一個類:
@Entity
public class Task extends Model {
@Id
public Long taskId;
public Boolean completed;
@ManyToOne
public UserModel assignedTo;
}
當我做這種類型的對象,像這樣的查詢:
Task.find.where().eq("assignedTo.email", email).eq("completed", false).findList();
我發現全部的Task.assignedTo字段被填充(不僅僅是Id)。
爲什麼在這種情況下填充字段,但不是第一種情況?