【发布时间】:2014-03-28 10:44:36
【问题描述】:
在 play framework 中,我使用以下代码从名为“Report”的表中获取值,该表具有其他关系表,如“Project”、“Build”等。
List<Report> rpts = Report.find.where()
.eq("publish","1")
.eq("functionality_id", Integer.toString(fun.id))
.eq("project_id", currentProject.id)
.eq("prod_build", prod_build)
.eq("loadType_id", loadType_id)
.in("build_id", buildId)
.orderBy("id desc")
.findList();
我从“报告”表中获取值列表,但未填充所有相关表值。它们用 null 填充。
@Entity
@Table(name="report")
public class Report {
@Id
public int id;
@Constraints.Required
@ManyToOne
@JoinColumn(name="build_id")
public Build build;
@Constraints.Required
@ManyToOne
@JoinColumn(name="project_id")
public Project project;
.
.
}
我几天前测试时加载了这些值,但今天无法正常工作。当我做 rpts.get(i).build.release 时,它会给出 nullPointerException 因为 build 在这里是空的。最近几天没有更改此代码。想知道为什么会这样。有人可以建议我是否有任何其他设置文件(如 application.conf)可以执行此延迟加载。请帮忙。
【问题讨论】:
标签: jpa playframework ebean