你好卡尔维什
Relationships
模型之间使用常见的 JPA 注释设置,如@OneToMany
, @ManyToOne
,@OneToOne
等。
因此,如果您有User.java
用户表Question.java
的模型和用户问题的模型,您可以将它们加入@OneToMany
(一个User
有很多Question
)
用户
@Entity
public class User extends Model {
@Id
public Long id;
public String email;
@OneToMany
public List<Question> questions;
}
问题
@Entity
public class Question extends Model {
@Id
public Long id;
public String question;
}
当您在控制器中选择用户时,Ebean 将默认执行“加入”并获取所有用户的问题:
User user = User.find.where().eq("email", email).findUnique();
List<Question> usersQuestion = user.questions;
默认情况下,Ebean 会获取所有对象的属性和关系,因此您不需要创建子查询。当然,您可以甚至应该只选择/获取当前所需的数据。
在官方 Ebean 文档页面上,您会找到相当不错的参考指南 (pdf),关系的一般描述可在部分中找到11.6.2 Relationships
。
在部分4.1.2 Query
中有一个示例(第二个),它演示了如何使用select()
and获取“部分”对象fetch()