我认为这是一个简单的问题: 我有两个模型,例如;
@Entity
case class User(name: String, email: String) extends Model {
@Id
var id: Int = 0
}
然后;
@Entity
case class Task(
subject: String,
body: String,
@ManyToOne
user: User) extends Model {
@Id
var id: Int = 0
}
我看到的是,当我从数据库中获取所有任务(find().all()
)时,如果我在{{1}处设置断点,我会在调试时看到所有任务的user = null
我看到该实例的用户字段已正确设置。
这有什么问题?
答案 0 :(得分:0)
感谢@Salem,基本上,他指出的link足以知道发生了什么 - 通常这可能有点令人困惑。
我所做的是为引用定义一个getter / setter;
所以Task
中会出现这样的事情;
@Entity
case class Task (subject: String, body: String) {
val userId: Int = 0
// setter
def user_= (user: User) = userId = user.id
// getter
def user:User = {
User.find().byId(userId) // ensure find() is defined in the companion object
}
}