Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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

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
Hibernate 是否将JPA实体的子集作为JPQL查询中的映射数组返回?_Hibernate_Jpa_Jpql - Fatal编程技术网

Hibernate 是否将JPA实体的子集作为JPQL查询中的映射数组返回?

Hibernate 是否将JPA实体的子集作为JPQL查询中的映射数组返回?,hibernate,jpa,jpql,Hibernate,Jpa,Jpql,在JPQL中,可以使用构造函数表达式(如 SELECT NEW example.EmployeeDetails(e.name, e.salary, e.department.name) FROM Employee e 返回EmployeeDetails类型的对象列表 或者使用投影选择,例如 SELECT e.name, e.salary FROM Employee e 它返回一个对象[]结果,其中结果[0]是e.name,结果[1]是e.salary 有没有办法让JPA返回包含实体子集的映射

在JPQL中,可以使用构造函数表达式(如

SELECT NEW example.EmployeeDetails(e.name, e.salary, e.department.name) FROM Employee e
返回EmployeeDetails类型的对象列表

或者使用投影选择,例如

SELECT e.name, e.salary FROM Employee e
它返回一个
对象[]结果
,其中结果[0]是e.name,结果[1]是e.salary

有没有办法让JPA返回包含实体子集的映射?例如,有没有一个JPQL查询可以返回
List result
,这样
result.get(0).get(“e.name”)
return
e.name
result.get(0).get(“e.salary”)
return
e.salary


如果JPQL做不到,HQL能做到吗?

JPA提供了有限的数组、元组和构造,而Hibernate提供了更多,包括Map

SELECT NEW map(e.name, e.salary, e.department.name) FROM Employee e

此HQL查询返回从别名到选定值的映射。

为什么HQL中没有Spring数据?请参阅