I get
HQL: illegal attempt to dereference collection exception
when trying to execute the query below, and I want to select userName
and userlastName
public class Event{
//
/* MANY TO MANY BIDIRECTIONAL Event<*---*>User */
@JsonIgnore
@ManyToMany(mappedBy="events", cascade = CascadeType.ALL,fetch=FetchType.EAGER)
private Set<User> participants;
}
public class User {
//
@ManyToMany
private List<Event> events;
}
My Query :
@Query(value ="SELECT u.firstname,u.lastname FROM User u inner join u.userEvents ue with ue.participants_id = u.id AND ue.events_event_id=:eventId ORDER BY u.lastname")
public List<User> participants(@Param("eventId") int eventId);
Exception : Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: illegal attempt to
dereference collection [userevents1_.event_id.participants] with element property
reference [id] [SELECT u.firstname,u.lastname FROM esprit.booklab.spring.entities.User u inner join u.userEvents ue
with ue.participants.id in u.id AND ue.events_event_id in :eventId ORDER BY u.lastname]
The image shows my database table
question from:
https://stackoverflow.com/questions/65927491/hql-illegal-attempt-to-dereference-collection-manytomany 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…