嗨,我可能需要一些帮助来了解我应该如何处理以下问题:
仅供参考,我正在使用 play framework 2.0 和 Ebeans version ~2.7
我有一个模型项目和一个模型报告。一个项目可以有多个报告,但一个报告只能属于一个项目。
这是我的项目模型:
@Entity
@Table(name = "Projects")
public class Projects extends Model {
private static final long serialVersionUID = -3343133304437498550L;
@Id
public long id;
@NotNull
@Size(min = 1, max = 255)
public String name;
@NotNull
@Size(min = 1, max = 255)
public String description;
@Formats.DateTime(pattern = "dd/MM/yyyy")
public Date created_at = new Date();
public static Finder<Long, Projects> find = new Finder<Long, Projects>(Long.class, Projects.class);
}
这是我的报告模型:
@Entity
@Table(name = "Reports")
public class Reports extends Model {
private static final long serialVersionUID = -6617128169471038678L;
@Id
public long id;
@Constraints.Required
public String description;
@Formats.DateTime(pattern = "dd/MM/yyyy")
public Date created_at = new Date();
@ManyToOne
@NotNull
public Projects project;
public static Finder<Long, Reports> find = new Finder<Long, Reports>(Long.class, Reports.class);
}
保存工作没有问题我可以创建一个项目,我可以创建多个指向正确项目的报告。我的问题是我将如何查询这个。
当我有一个项目时,我将如何获得所有相关报告?我想我可以把它当作一个普通的 SQL 查询,但我很确定它应该可以使用 ebean。
最好的问候,并感谢您的宝贵时间!
更新: 这就是我将如何使用 sql 查询
SELECT * FROM `Projects` LEFT JOIN `Reports` ON Projects.`id` = Reports.`id`;