我有这样一段代码:我可以为列表添加Restriction.eq()吗?
public String getEventsForCalendar(@RequestParam("userId") Long userId){
Session session = NewHibernateUtil.getSessionFactory().getCurrentSession();
try{
session.beginTransaction();
JSONArray eventsArray = new JSONArray((List<Event>)(session.createCriteria(Event.class)
.add(Restrictions.eq("ownerid", userId))
.list()));
User user = (User)session.createCriteria(User.class)
.add(Restrictions.eq("id", userId)).uniqueResult();
for (Event event: (List<Event>) session.createCriteria(Event.class)
.add(Restrictions.ne("ownerid", userId))
.list()){
if (event.getInvited().contains(user)){
eventsArray.put(new JSONObject(event));
}
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
return null;
}
它,首先要找到用户创建的活动。接下来,在循环中它应该获得邀请用户的事件。每个事件都有名为被邀请的列表,我想我必须遍历所有列表并检查用户是否在邀请列表中,但是我可以执行类似操作吗?
List<Event> list = session(...)
.add(Restrictions.eq("invited", user);
换句话说,我可以从列表中包含对象的数据库对象吗?如果有人回答我的问题,我会很高兴 - 提前谢谢你。
你所问的是根本不可能的。您可以选择正确的查询并执行。使用休眠会话。 :) – dharam