我想从用户加入的数据库中提取所有事件。
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
我错过了什么?
最佳答案
eventMembersJoined
是一个 Set
,但您可以使用 =
将其与 User
类型的参数进行比较。
要检查集合是否包含特定元素,请尝试使用以下命令:
FROM Event event WHERE :user in elements(event.eventMembersJoined)
关于java - hibernate java.sql.SQLException : No value specified for parameter 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27665725/