Reputation: 1555
I want to extract all events from db wherein User joined.
DAO :
public List<Event> getUserJoinedEvents(User user) {
return sessionFactory.getCurrentSession()
.createQuery("FROM Event event WHERE event.eventMembersJoined = :user")
.setParameter("user", user).list();
Entity:
...
@JoinTable(name="MEMBERS_JOINED_EVENT",
joinColumns={@JoinColumn(name="JOINED_EVENT_ID")},
inverseJoinColumns={@JoinColumn(name="USER_ID")})
private Set<User> eventMembersJoined = new HashSet<User>();
...
And as result got exception:
java.sql.SQLException: No value specified for parameter 1
What did I miss?
Upvotes: 0
Views: 1718
Reputation: 24403
eventMembersJoined
is a Set
, but you compare it using =
with parameter of type User
.
To check weather a set contains certain element, try with this:
FROM Event event WHERE :user in elements(event.eventMembersJoined)
Upvotes: 2