【发布时间】:2011-04-13 10:29:55
【问题描述】:
我以为我知道如何在JPQL 中使用JOIN,但显然不知道。谁能帮帮我?
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 具有 OneToMany 关系。
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> 回来?
【问题讨论】:
标签: java jpa eclipselink jpql