Hibernate java.sql.SQLException:没有为参数1指定值

时间:2014-12-27 08:49:08

标签: java sql database hibernate

我想从用户加入的数据库中提取所有事件。

DAO:

public List<Event> getUserJoinedEvents(User user) {
        return sessionFactory.getCurrentSession()
                .createQuery("FROM Event event WHERE event.eventMembersJoined = :user")
                .setParameter("user", user).list();

实体:

...  
 @JoinTable(name="MEMBERS_JOINED_EVENT", 
                        joinColumns={@JoinColumn(name="JOINED_EVENT_ID")}, 
                        inverseJoinColumns={@JoinColumn(name="USER_ID")})
        private Set<User> eventMembersJoined = new HashSet<User>();
...

结果异常:

java.sql.SQLException: No value specified for parameter 1

我错过了什么?

1 个答案:

答案 0 :(得分:2)

eventMembersJoinedSet,但是您使用=将其与User类型的参数进行比较。 要查看天气集合包含某些元素,请尝试使用:

FROM Event event WHERE :user in elements(event.eventMembersJoined)