67,513
社区成员
发帖
与我相关
我的任务
分享
//DAO
public List findJobByPerson(long personId){
final String queryString = "select model from Job model,Teamperson tp,Personjob pj where ((tp.personId = :personId) and (tp.teamId = pj.teamId) and(model.jobId = pj.jobId)";
Query qy=getJpaTemplate().getEntityManagerFactory().createEntityManager().createQuery(queryString);
qy.setParameter("personId", personId);
return qy.getResultList();
}
//关系实体小组和人员的关系
@Entity
@Table(name="team-person")
public class Teamperson{
@Id
@Column(name = "teamperson_id", unique = true, nullable = false, insertable = true, updatable = true)
@GeneratedValue(strategy=GenerationType.AUTO)
private long teampersonId;
@Column(name = "team_id", unique = false, nullable = false, insertable = true, updatable = true)
private long teamId;
@Column(name = "person_id", unique = false, nullable = false, insertable = true, updatable = true)
private long personId;
//构造方法,get set方法.
}
//三个实体不变
@Entity
@Table(name="team")
public class Team{
@Id
@Column(name = "team_id", unique = true, nullable = false, insertable = true, updatable = true)
@GeneratedValue(strategy=GenerationType.AUTO)
private long teamId;
//构造方法,get set方法.
}
@Entity
@Table(name="person")
public class Person{
@Id
@Column(name = "person_id", unique = true, nullable = false, insertable = true, updatable = true)
@GeneratedValue(strategy=GenerationType.AUTO)
private long personId;
//构造方法,get set方法.
}
@Entity
@Table(name="job")
public class Job{
@Id
@Column(name = "job_id", unique = true, nullable = false, insertable = true, updatable = true)
@GeneratedValue(strategy=GenerationType.AUTO)
private long jobId;
//构造方法,get set方法.
}
//关系实体小组和人员的关系
@Entity
@Table(name="team-job")
public class Teamjob{
@Id
@Column(name = "teamjob_id", unique = true, nullable = false, insertable = true, updatable = true)
@GeneratedValue(strategy=GenerationType.AUTO)
private long teamjobId;
@Column(name = "team_id", unique = false, nullable = false, insertable = true, updatable = true)
private long teamId;
@Column(name = "job_id", unique = false, nullable = false, insertable = true, updatable = true)
private long jobId;
//构造方法,get set方法.
}
//关系实体人员和工作的关系
@Entity
@Table(name="person-job")
public class Personjob{
@Id
@Column(name = "personjob_id", unique = true, nullable = false, insertable = true, updatable = true)
@GeneratedValue(strategy=GenerationType.AUTO)
private long personjobId;
@Column(name = "person_id", unique = false, nullable = false, insertable = true, updatable = true)
private long personId;
@Column(name = "job_id", unique = false, nullable = false, insertable = true, updatable = true)
private long jobId;
}
@Entity
public class Team{
private int id;
@Id
public int getId(){return id;}
}
@Entity
public class Person{
private int id;
@Id
public int getId(){return id;}
}
@Entity
public class Job{
private int id;
@Id
public int getId(){return id;}
}