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