0

チーム、

休止状態で1つの奇妙な問題に直面しています。多くの削除が発生している場所。

たとえば、以下のコードを実行すると、EMPLOYEE テーブルからデータが削除され、一括挿入が行われます。

    Session session = null;
    Transaction tx = null;

    try {
        session = sessionFactory.openSession();
        tx = session.beginTransaction();



        String stringQuery = "DELETE FROM Employee";
        Query query = session.createQuery(stringQuery);
        query.executeUpdate();

        session.flush();
        session.clear();

        Employee employee = null;

        for (int i = 0; i < employeeList.size(); i++) {
            Employee = employeeList
                    .get(i);
            session.save(employee);
        }

        tx.commit();

    }

    catch (Exception e) {
        if (tx != null)
            tx.rollback();

    }

    finally {
        if (session != null) {
            session.close();
        }

    }

しかし、show SQL を有効にすると、"N" 個の削除が発生しており、すべての挿入が順番に実行されているように見えます。

私は tx.commit() にデバッガーを保持し、以下は Show-sql のアウトコードです

例: 同じステートメントのセットで無限ループに陥っているようです。

従業員から削除 従業員の値に
挿入従業員
から削除従業員の
値に挿入 従業員
から削除従業員の値
に挿入

4

1 に答える 1