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