我的表是:
id home datetime player resource
---|-----|------------|--------|---------
1 | 10 | 04/03/2009 | john | 399
2 | 11 | 04/03/2009 | juliet | 244
5 | 12 | 04/03/2009 | borat | 555
3 | 10 | 03/03/2009 | john | 300
4 | 11 | 03/03/2009 | juliet | 200
6 | 12 | 03/03/2009 | borat | 500
7 | 13 | 24/12/2008 | borat | 600
8 | 13 | 01/01/2009 | borat | 700
Run Code Online (Sandbox Code Playgroud)
我需要选择每个不同的 …
我以为我知道如何使用JOIN,JPQL但显然不是.谁能帮我?
select b.fname, b.lname from Users b JOIN Groups c where c.groupName = :groupName
Run Code Online (Sandbox Code Playgroud)
这给了我例外
org.eclipse.persistence.exceptions.JPQLException
Exception Description: Syntax error parsing the query
Internal Exception: org.eclipse.persistence.internal.libraries.antlr.runtime.EarlyExitException
Run Code Online (Sandbox Code Playgroud)
Users与...有OneToMany关系Groups.
Users.java
@Entity
public class Users implements Serializable{
@OneToMany(mappedBy="user", cascade=CascadeType.ALL)
List<Groups> groups = null;
}
Run Code Online (Sandbox Code Playgroud)
Groups.java
@Entity
public class Groups implements Serializable {
@ManyToOne
@JoinColumn(name="USERID")
private Users user;
}
Run Code Online (Sandbox Code Playgroud)
我的第二个问题是让这个查询返回一个唯一的结果,如果我这样做
String temp = (String) em.createNamedQuery("***")
.setParameter("groupName", groupName)
.getSingleResult();
Run Code Online (Sandbox Code Playgroud)
***代表上面的查询名称.所以确实fname与lname内部连接在一起temp或者我拿到List<String> …