有没有一种方法可以在hql查询中使用嵌套的pojo?

时间:2019-12-03 07:50:06

标签: java spring-boot spring-data-jpa hql

这是我要完成的目标的一个小例子。

@Query("select new ksa.so.beans.PojoMain("
            + " PojoName(il.title),"
            + " PojoNumber(il.item.id)"
            + ") "
            + "From ItemLanguage il where il.id = 13751 and il.language.id = 1")
    PojoMain testingNestedPojo();

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

据我所知,您不能在HQL中使用嵌套的pojos。

但是您可以使用投影代替pojos。 this one

之类的教程很多
  

投影:

public interface EmployeeInfo {
  String getName();
  int getSalary();
  DeptInfo getDepartment();

  interface DeptInfo {
      String getDeptName();
  }
}
     

在存储库中:

public interface EmployeeRepository extends CrudRepository<Employee, Long> {
  List<EmployeeInfo> findBy();
  List<EmployeeInfo> findBySalaryBetween(int salaryMin, int salaryMax);
  List<EmployeeInfo> findByDepartmentLocation(String location);
}