Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 链接实体类中的JPQL连接条件_Java_Jpa_Jpql - Fatal编程技术网

Java 链接实体类中的JPQL连接条件

Java 链接实体类中的JPQL连接条件,java,jpa,jpql,Java,Jpa,Jpql,我使用以下SQL加入员工、用户项目和项目主 SELECT DISTINCT usr.user_number, emp.emp_name FROM employees emp LEFT JOIN user_projects usr ON (emp.user_number = usr.user_number) JOIN project_master mast ON (usr

我使用以下SQL加入员工、用户项目和项目主

SELECT DISTINCT usr.user_number,
                  emp.emp_name
    FROM employees emp
         LEFT JOIN user_projects usr
            ON (emp.user_number = usr.user_number)
         JOIN project_master mast
            ON (usr.project_id = mast.project_id)
   WHERE     mast.active = 'Y'
         AND emp.user_number = 'SMITH'
在Employee实体中,我将以下JPQL定义为namedQuery

@NamedQuery(name = "Employee.findProjects", query = " select DISTINCT u.userNumber,e.empName" +
" from Employee e LEFT JOIN e.userProjectsList u  where e.userNumber='SMITH' ") 
不确定如何链接UserProjects和ProjectMaster以创建where条件
mast.active='Y'在员工实体的FindProject namedQuery中
如何在Employee实体类中加入UserProjects和ProjectMaster

实体

实体员工

@Table(name = "EMPLOYEES")
public class Employee implements Serializable {

@Id
@Column(name = "USER_NUMBER", nullable = false)
private String userNumber;

@Column(name = "EMP_NAME")
private String empName;

@OneToMany(mappedBy = "employee")
private List<UserProjects> userProjectsList;
实体ProjectMaster

@Table(name = "PROJECTMASTER")
public class ProjectMaster implements Serializable {

@Id
@Column(name="PROJECT_ID", nullable = false)
private String projectId;

@Column(name="PROJECT_DESCRIPTION")
private String projectDesc;

@Column(name="ACTIVE")
private String active;

这不是工作吗?

斯坦,谢谢你的回答,我不知道这很简单。谢谢。
@Table(name = "PROJECTMASTER")
public class ProjectMaster implements Serializable {

@Id
@Column(name="PROJECT_ID", nullable = false)
private String projectId;

@Column(name="PROJECT_DESCRIPTION")
private String projectDesc;

@Column(name="ACTIVE")
private String active;
select DISTINCT u.userNumber,e.empName from Employee e LEFT JOIN  
    e.userProjectsList u  JOIN u.projectMaster pm
    where e.userNumber='SMITH' AND pm.active='Y'