Я думал, что знаю, как использовать 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
обратно?