我有以下代码:
Criteria criteria = currentSession.createCriteria(Activity.class);
criteria.add(Restrictions.eq("activityId", activityId));
List<Activity> existingActivities = criteria.list();
if(existingActivities.size() == 0){
System.out.println("No Activity exist for activity id: "+activityId);
continue;
}
Activity activity = existingActivities.get(0);
User assignTo = users.get(UNKNOWN);
activity.setUser(assignTo);
currentSession.flush();
我期待hibernate会发出一条更新语句,并用新用户保存我的持久对象活动。但它没有用。我正在使用带有 Spring 的 Hibernate。方法被标记为@Transactional。我以为我不必放置 session.flush()。所以我也尝试过。它没有用。如果我在这里做错了什么,请指导我。
我也尝试过明确调用更新。我可以在 SQL 日志中看到更新语句,但它没有更新我的数据库。
谢谢,帕万