Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.4k views
in Technique[技术] by (71.8m points)

join - HQL: illegal attempt to dereference collection ManyToMany

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 enter image description here

question from:https://stackoverflow.com/questions/65927491/hql-illegal-attempt-to-dereference-collection-manytomany

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...