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)。
为什么在这种情况下填充字段,但不是第一种情况?