我有两个这样的实体:
EntityX:
id Long
name String
entityYId Long
EntityY (this entity is very hard, because it has a lot of data)
id Long
name String
xxx
xxx
.....
我需要做类似
的事情Root<EntityX> xRoot = criteriaQuery.from(EntityX.class);
Join<EntityX, EntityY> yJoin = xRoot.join("entityYId", JoinType.LEFT);
我需要yJoin因为我需要JPA标准这个多选:
pId = xRoot.get("id");
pName = xRoot.get("name");
pEntityYName = yJoin.get("name");
cr.multiselect(
cb.construct(
ResultData.class,
pId,
pName,
pEntityYName));
我可以这样做吗?如果不可能,我该怎么做才能解决这个问题,记住!我只需要EntityX中的“entityYId”而不是所有的entityY元素。
谢谢!
答案 0 :(得分:1)
您可以在Root类上使用select方法。有关详细信息,请参阅http://www.objectdb.com/java/jpa/query/jpql/select#SELECT_in_Criteria_Queries_