我有一个简单的层次结构TradeCustomer
是OrganisationRole
。 OrganisationRole
与Organisation
相关联。 Organisation
有一个属性roles
,其中包含组织的所有角色。
我想使用CriteriaBuilder
编写JPA查询,其根目录为Organisation
,但访问TradeCustomer
的属性,例如,我需要加入Organisation
OrganisationRole
并将其投放到TradeCustomer
。
答案 0 :(得分:0)
这是我的解决方案:
CriteriaQuery<String> query = cb.createQuery(String.class);
Root<Organisation> root = query.from(Organisation.class);
Join<Organisation, TradeCustomer> tcJoin = root.join("roles");
query.select(tcJoin.get(TradeCustomer_.rate));
重要的一点是使用列的名称(roles
)而不是Organisation_.roles。