Tôi nghĩ tôi biết cách sử dụng JOIN
trong JPQL
nhưng dường như không. Ai giúp tôi với?JPA: THAM GIA trong JPQL
select b.fname, b.lname from Users b JOIN Groups c where c.groupName = :groupName
này cho tôi Exception
org.eclipse.persistence.exceptions.JPQLException
Exception Description: Syntax error parsing the query
Internal Exception: org.eclipse.persistence.internal.libraries.antlr.runtime.EarlyExitException
Users
có mối quan hệ với 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;
}
câu hỏi thứ hai của tôi là hãy nói truy vấn này trả về một kết quả độc đáo, sau đó nếu tôi làm
String temp = (String) em.createNamedQuery("***")
.setParameter("groupName", groupName)
.getSingleResult();
***
đại diện cho tên truy vấn trên . Vì vậy, fname
và lname
được ghép lại với nhau bên trong temp
hoặc tôi nhận được List<String>
trở lại?
gì nếu thay vì chọn trường bạn chọn một thực thể + một trường từ một thực thể khác. Một cái gì đó như 'SELECT b, c.name ...'. Sau đó, đối tượng đầu tiên trong Object [] sẽ là một trường của b hoặc toàn bộ thực thể? – Ced