I 출력이 같은 것 사용 사례에 대한 기준 쿼리를 구성해야 ..JPA 기준 쿼리 API 새로운
XXX의 X, YYY의 새로운 WrapperXXXYYY (XXX.something, YYY.something)를 선택 y, 어디 x.id = y.createdBy 및 ...
내가 만든 코드는 .. 여기에 도메인 클래스는 다른 두 엔티티 클래스의 단지 래퍼입니다. java.lang.IllegalArgumentException가 : org.hibernate.hql.internal.ast.QuerySyntaxException : 예기치 않은 토큰 : 새로운 근처 1 호선, 열 (62)
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<? extends T> criteriaQuery = builder.createQuery(domainClass);
Root<JPAUser> user = criteriaQuery.from(JPAUser.class);
Root<JPAReport> report = criteriaQuery.from(JPAReport.class);
criteriaQuery.multiselect(builder.construct(domainClass, user.get("surrogateId"), report.get("projectId")));
return em.createQuery(criteriaQuery);
나는 아래의 예외 "에 javax.ejb.EJBException를 받고 있어요 "
및 생성 된 쿼리입니다 - [새 com.collabnet.ctf.server.report.jpa.JPAReportList (새 com.collabnet.ctf.server.report.jpa.JPAReportList (generatedAlias0.surrogateId, generatedAlias1을 선택합니다. projectId)) com.collabnet.ctf.server.user.jpa.JPAUser from generatedAlias0, com.collabnet.ctf.server.report.jpa.JPAReport as generatedAlias1]domainClass에 대해 두 개의 "새로운"문이 표시됩니다. 문법이 잘못되었습니다. select()
와
criteriaQuery.select(builder.construct(domainClass, user.get("surrogateId"), report.get("projectId")));
또는
criteriaQuery.multiselect(user.get("surrogateId"), report.get("projectId"));
사용 construct()
또는 multiselect()
construct()
없이 사용