KVI*_*ISH 7 java sql ebean playframework-2.0
我正在使用PlayFramework,我真的很喜欢它.当我想从表中获取数据时,例如我有一个user表,我使用以下语法:
List<User> users = User.find.where().eq("email", email).findList();
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我得到用户对象时,我有一个id列.使用该id值,我可以映射到其他表,并且id这些表的's'可以映射到更多的表,因此跨多个表连接的基本概念.是否有任何示例或地方我可以阅读它描述如何使用上述语法实现它?
我试图找到自己而不能,只有这样我才能想到它是使用直接sql与准备好的语句,我宁愿不做.
bie*_*ior 16
ellou'kalvish
Relationships车型之间设置与普通JPA注释像@OneToMany,@ManyToOne,@OneToOne等等.
因此,如果您有User.java用户表的Question.java模型和用户问题的模型,您可以加入它们@OneToMany(One Userhas Many Questions)
用户
@Entity
public class User extends Model {
@Id
public Long id;
public String email;
@OneToMany
public List<Question> questions;
}
Run Code Online (Sandbox Code Playgroud)
题
@Entity
public class Question extends Model {
@Id
public Long id;
public String question;
}
Run Code Online (Sandbox Code Playgroud)
当您在控制器中选择用户时,Ebean将默认执行"加入",并且还将获取所有用户的问题:
User user = User.find.where().eq("email", email).findUnique();
List<Question> usersQuestion = user.questions;
Run Code Online (Sandbox Code Playgroud)
默认情况下,Ebean会获取所有对象的属性和关系,因此您无需创建子查询.当然,您甚至可以选择/获取当前所需的数据.
在官方的Ebean文档页面,你会发现很好的参考指南(pdf),关系的一般描述在章节中提供11.6.2 Relationships.
在部分中4.1.2 Query有一个示例(第二个),它演示了如何使用select()和获取"部分"对象fetch()
| 归档时间: |
|
| 查看次数: |
7333 次 |
| 最近记录: |