【发布时间】:2016-02-17 19:40:34
【问题描述】:
我有以下实体
@Entity
public class Project implements Serializable {
@Id
private Integer project_id;
private String project_name;
other attributes
@OneToOne
@JoinColumn(name = "lead_emp_no", referencedColumnName = "emp_no")
private Employee projectLead;
// but the following two relationships need to be a connect by:
@OneToOne
@JoinColumn(name = "lead_boss_emp_no", referencedColumnName = "emp_no")
private Employee projectLeadBoss;
@OneToOne
@JoinColumn(name = "lead_bosses_boss_emp_no", referencedColumnName = "emp_no")
private Employee projectLeadBossesBoss;
使用此设置,我们必须手动维护 Lead 的上司和 Lead 的上司的上司的员工编号。了解 projectLead 员工后,这种关系 [在某种程度上] 已经可用:
员工实体如下:
@Entity
public class Employee implements Serializable {
@Id
private Integer emp_no;
private Integer bosses_emp_no;
是否可以让我的 Project 实体基于 projectLead 连接到老板和老板 Employee?在单个查询中,我想获得所有项目及其领导层级的表。我对实体重新设计持开放态度。
【问题讨论】:
标签: sql jpa entity connect-by