25
我以为我知道如何使用JOIN
JPQL
但显然不是。谁能帮我?JPA:加入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
有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>
回来?
如果不是选择字段,你选择什么实体+另一个实体的字段。就像'SELECT b,c.name ...'。那么Object []中的第一个对象将是b或整个实体的字段? – Ced 2015-09-21 18:25:05