Ho pensato di sapere come utilizzare JOIN
in JPQL
ma apparentemente no. Qualcuno può aiutarmi?JPA: JOIN in JPQL
select b.fname, b.lname from Users b JOIN Groups c where c.groupName = :groupName
Questo mi darà Eccezione
org.eclipse.persistence.exceptions.JPQLException
Exception Description: Syntax error parsing the query
Internal Exception: org.eclipse.persistence.internal.libraries.antlr.runtime.EarlyExitException
Users
hanno un rapporto con 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;
}
La mia seconda domanda è diciamo questa query restituisce un risultato unico, quindi se lo faccio
String temp = (String) em.createNamedQuery("***")
.setParameter("groupName", groupName)
.getSingleResult();
***
rappresentano il nome query di cui sopra . Così fa fname
e lname
concatenati insieme all'interno di temp
o ottengo un List<String>
indietro?
Che cosa succede se invece di selezionare i campi è stato selezionato un soggetto + un campo da un'altra entità. Qualcosa come "SELECT b, c.name ...". Quindi il primo oggetto nell'oggetto [] sarà un campo di b o l'intera entità? – Ced