如何从集合中选择与JPQL中的实体具有一对多关系的部分字段

时间:2012-11-21 04:11:04

标签: jpa eclipselink

问题非常令人满意,可以通过以下查询简单描述:

select c.name,c.brands FROM ShopChannels c 

ShopChannel是一个基本实体,拥有多个品牌的集合,而不是在此查询中选择所有品牌属性,我只想选择品牌的部分字段,如果我使用

select c.name,c.brands.spell from ShopChannels c

我将收到“无法导航集合值关联字段”错误消息。

这种查询可以大大提高性能,所以任何人都有想法吗?

1 个答案:

答案 0 :(得分:2)

JPA规范说“从语法表达式中计算路径表达式在语法上是非法的,这个路径表达式计算为集合。”您需要的解决方案是连接查询,如:'select c.name,b。来自ShopChannels的拼写c inner join c.brands b'。