Mein Verständnis von SQL und JPQL sind nicht so groß, und ich habe versucht worden, eine JPQL Abfrage der folgenden SQL-Anweisung zu erstellen:JPQL und Join-Tabelle
select group.* from user, user_group, group
where user_group.user_id = user.id
and user_group.group_id = group.id
and user.id = [userID to search]
edit: Woops ich die Suche hinzufügen vergessen haben, durch Benutzer-ID Teil der Abfrage. Ich möchte alle Gruppen erhalten, denen ein Benutzer gehört.
Aber ich kann einfach nicht die Syntax richtig bekommen. Jede Hilfe würde sehr geschätzt werden.
Relevante Code-Schnipsel:
Group.java
@Table(name = "group")
@Entity
public class Group implements Serializable {
@Id
@GeneratedValue
@Column(name = "id")
private Integer id;
@JoinTable(name = "user_group", joinColumns = {
@JoinColumn(name = "group_id", referencedColumnName = "id")}, inverseJoinColumns = {
@JoinColumn(name = "user_id", referencedColumnName = "id")})
@ManyToMany
private Collection<User> userCollection;
}
User.java
@Table(name = "user")
@Entity
public class User implements Serializable {
@Id
@NotNull
@GeneratedValue
@Column(name = "id")
private Integer id;
@Column(name = "email", unique=true, nullable=false)
private String email;
@ManyToMany(mappedBy = "userCollection")
private Collection<Group> GroupCollection;
}
Was möchten Sie tun? –