Я думал, что знаю, как использовать 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
Users
имеет отношение OneToMany с Groups
.
Users.java
@Entity
public class Users implements Serializable{
@OneToMany(mappedBy="user", cascade=CascadeType.ALL)
List<Groups> groups = null;
}
Groups.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<String>
обратно?