在hibernate中更新一列

时间:2013-03-19 08:55:57

标签: java database hibernate

我在更新表时遇到了hibernate的问题。我必须将任务从一个项目移动到另一个项目,我必须更新该项目中的任务ID。我使用的是:

    Long taskCounter = destinationProject.getLastTaskID();
    session.createQuery("update Task tp set tp.projectKey.projectID = ? ,tp.projectKey.id = ?, tp.taskListID = ? where tp.taskListID = ? and tp.projectKey.projectID = ?")
            .setParameter(0, projectID).setParameter(1,++taskCounter).setParameter(2, newTaskListId).setParameter(3, taskListID).setParameter(4, sourceProjectID).executeUpdate();

当我有多个子任务的任务列表时,我得到一个重复的主键异常。我相信问题是setParamater(1,++ taskCounter),因为我相信它并没有为所选的每一行增加。

我该如何解决这个问题?

0 个答案:

没有答案