Playframework 2.0 如何在ebean中构造深度查询

Playframework 2.0 如何在ebean中构造深度查询,playframework-2.0,jquery-datatables,ebean,Playframework 2.0,Jquery Datatables,Ebean,我使用的是ebean和play 2.2.3,我有这些模型类(为了清晰起见,将它们删减) 学生 公共类学生扩展模型实现可序列化{ 私有静态最终长serialVersionUID=1L; @身份证 @列(name=“id”) 公共字符串id; @列(name=“reg\u no”,unique=true) 公共字符串regNo; @NotNull @必需的 @列(name=“first_name”) 公共字符串名; @OneToMany(cascade=CascadeType.ALL,mappedB

我使用的是ebean和play 2.2.3,我有这些模型类(为了清晰起见,将它们删减)

学生

公共类学生扩展模型实现可序列化{
私有静态最终长serialVersionUID=1L;
@身份证
@列(name=“id”)
公共字符串id;
@列(name=“reg\u no”,unique=true)
公共字符串regNo;
@NotNull
@必需的
@列(name=“first_name”)
公共字符串名;
@OneToMany(cascade=CascadeType.ALL,mappedBy=“student”)
私人名单学生名单;
@OneToMany(cascade=CascadeType.ALL,mappedBy=“student”)
私有列表学生级别详细信息列表;
公共静态查找器find=新查找器(
String.class,Student.class);
}
水平

公共类级别扩展模型实现可序列化{
私有静态最终长serialVersionUID=1L;
@身份证
@基本(可选=假)
@NotNull
@列(name=“id”)
公共整数id;
@尺寸(最大值=255)
@列(name=“name”,unique=true)
公共字符串名称;
public static Model.Finder=new Finder(
Integer.class,Levels.class);
@OneToMany(cascade=CascadeType.ALL,mappedBy=“level”)
私有列表学生级别详细信息列表;
}
班级

公共类扩展模型实现可序列化{
私有静态最终长serialVersionUID=1L;
@身份证
@列(name=“id”)
公共整数id;
@基本(可选=假)
@NotNull
@必需的
@列(name=“name”,unique=true)
公共字符串名称;
@OneToMany(cascade=CascadeType.ALL,mappedBy=“class1”)
公开名单学生名单;
公共静态查找器查找=
新查找器(Integer.class,Classes.class);
}
学生级详细信息

@Table(name=“student\u level\u details”,uniqueConstraints=@UniqueConstraint(columnNames={
“学生”、“类型”})
公共类StudentLevelDetails扩展模型实现可序列化{
公共静态枚举类型{
@枚举值(“CL”)
目前的水平,
@枚举值(“LAI”)
允许进入的级别
}
@身份证
@基本(可选=假)
@NotNull
@列(name=“id”)
公共整数id;
@尺寸(最大值=2147483647)
@列(name=“type”)
公共类型;
@JoinColumn(name=“student”,referencedColumnName=“id”)
@多通(可选=假)
公立学生;
@JoinColumn(name=“level”,referencedColumnName=“id”)
@多通(可选=假)
公共层面;
公共静态最终查找器find=新查找器(
Integer.class、StudentLevelDetails.class);
}
学生班

@Table(name=“student_class”,uniqueConstraints=@UniqueConstraint(columnNames={“student”,“type”}))
公共类StudentClass扩展模型实现可序列化{
公共静态枚举类型{
@枚举值(“CC”)
当前课程
}
@身份证
@基本(可选=假)
@NotNull
@列(name=“id”)
公共整数id;
@JoinColumn(name=“student”,referencedColumnName=“id”)
@多通(可选=假)
公立学生;
@JoinColumn(name=“class”,referencedColumnName=“id”)
@多通(可选=假)
公共课1级;
@列(name=“type”)
公共类型;
}
我正在使用datatables,我想构造一个查询,根据搜索框中的筛选值返回表的数据。 我如何在ebean中构造这种查询(我用简单的英语解释查询意图)

从名为“搜索筛选器”的学生或名为“搜索筛选器”的level.name或名为“搜索筛选器”的class1.name中选择名为“搜索筛选器”,其中level.Type=当前\u级别,class1.Type=“当前\u类”

所以基本上让我困惑的是如何连接这些表,从而得到一个结果表

谢谢