Ich dachte, ich weiß JOIN
in JPQL
aber anscheinend nicht zu verwenden. Kann mir jemand helfen?JPA: JOIN in JPQL
select b.fname, b.lname from Users b JOIN Groups c where c.groupName = :groupName
mir diese Ausnahme
org.eclipse.persistence.exceptions.JPQLException
Exception Description: Syntax error parsing the query
Internal Exception: org.eclipse.persistence.internal.libraries.antlr.runtime.EarlyExitException
Users
eine OneToMany Beziehung mit Groups
haben geben.
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;
}
Meine zweite Frage lassen sich sagen, diese Abfrage ein eindeutiges Ergebnis zurück, dann, wenn ich
String temp = (String) em.createNamedQuery("***")
.setParameter("groupName", groupName)
.getSingleResult();
***
den Namen die Abfrage oben darstellen . Also macht fname
und lname
miteinander verkettet innerhalb temp
oder ich bekomme eine List<String>
zurück?
Was passiert, wenn statt Felder auswählen, die Sie eine Einheit ausgewählt + ein Feld von einer anderen Entität. Etwas wie 'SELECT b, c.name ...'. Dann wird das erste Objekt im Objekt [] ein Feld von b oder der gesamten Entität sein? – Ced