0

テーブルを更新する際に休止状態に問題があります。あるプロジェクトから別のプロジェクトにタスクを移動する必要があり、そのプロジェクト内のタスク 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) だと思います。なぜなら、選択された行ごとにインクリメントされていないと思うからです。

どうすればこれを解決できますか?

4

0 に答える 0