2012-08-22 68 views
3

在JPQL也能夠使用構造表達這樣要求一個實體的一個子集作爲從JPQL查詢中返回JPA實體的子集作爲映射數組?

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

它返回類型EmployeeDetails

或使用投影選擇諸如

的對象的列表
SELECT e.name, e.salary FROM Employee e 

它返回一個Object[] result其中結果[0]是e.name和結果[1]是e.salary

有沒有辦法讓JPA返回包含例如實體的子集的地圖是有一個JPQL查詢,可以返回List<Map<String,Object>> result這樣result.get(0).get("e.name")回報e.nameresult.get(0).get('e.salary')回報e.salary

JPQL如果不能做到這一點HQL能做到嗎?

+0

請參閱https://stackoverflow.com/questions/7595328/jpa-2-0-native-query-results-as-map/46190527#46190527 –

回答