有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在JPQL JPA的where条件下使用@ManyToOne?

我正在研究JPA,我被语法或编写JPQL的正确方法所困扰,我有实体:部门和员工

@Entity
Department

@OneToMany
Employee
-----------------------------------------

@Entity
Employee

@ManyToOne
Department

现在我有了DOA,我只是在JPQL查询中动态添加where条件

我需要拉XYZ部门的员工

所以我的JPQL看起来像这样

select * from employee where department='PK_OF_DEPT'

注意:部门的主键是主键(某些序列)

我得到的错误是语法错误未知列部门,我尝试给出部门。id=仍不工作无效路径错误

注意:Id是java对象中的属性名称

有人能帮我获得正确的语法吗,注意:我不能使用FIND方法,因为它需要在动态用于列表的DOA中


共 (2) 个答案

  1. # 1 楼答案

    这里没有太多信息,但是试试这个

    from employee left join fetch employee.department where department.id='PK_OF_DEPT'

  2. # 2 楼答案

    试试这个:

    @Query("select d.dname,d.deptno,e.ename,e.eno from Department d join d.employees e where d.id = ?1")
    List<Object[]> getDepartmentAndEmployeeDetailsCustomQuery(int departId);