JPA: JOIN в JPQL

Я думал, что знаю, как использовать JOIN в JPQL , но, видимо, нет. Может ли кто-нибудь мне помочь?

select b.fname, b.lname from Users b JOIN Groups c where c.groupName = :groupName

Это дает мне исключение

org.eclipse.persistence.exceptions.JPQLException
Exception Description: Syntax error parsing the query
Internal Exception: org.eclipse.persistence.internal.libraries.antlr.runtime.EarlyExitException

Пользователи связаны отношениями OneToMany с группами .

Users.java

@Entity
public class Users implements Serializable{

    @OneToMany(mappedBy="user", cascade=CascadeType.ALL)
    List<Groups> groups = null;
}

Группы. java

@Entity
public class Groups implements Serializable {
    @ManyToOne
    @JoinColumn(name="USERID")
    private Users user;
}

Мой второй вопрос: допустим, этот запрос возвращает уникальный результат, тогда, если я сделаю

String temp = (String) em.createNamedQuery("***")
    .setParameter("groupName", groupName)
    .getSingleResult();

*** , это будет указанное выше имя запроса. Итак, fname и lname объединяются вместе внутри temp , или я получаю List обратно?

35
задан Nicolas Filotto 22 May 2017 в 16:30
поделиться