我有以下代码:
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会拍摄更新语句,并会使用新用户保存我的持久对象活动。但它没有用。我正在使用Hibernate和Spring。方法标记为@Transactional。我以为我没有把session.flush()。所以我也试过了。它没用。如果我在这里做错了,请指导我。
我也尝试过显式调用来更新。我可以在SQL日志中看到更新语句但它没有更新我的数据库。
谢谢, 爬完