У меня есть пакетный запрос mysql (SQL):
START TRANSACTION;
UPDATE home SET currentSeq = 2 WHERE resId = '6hiuxhqkw4s1bta9a';
UPDATE home SET currentSeq = 4 WHERE resId = 'hpvihvzk0vainpkgg';
UPDATE home SET currentSeq = 6 WHERE resId = 'krfswe6wohjtugmtd';
UPDATE home SET currentSeq = 3 WHERE resId = 'tcybuiuulkju5wjre';
UPDATE home SET currentSeq = 7 WHERE resId = 'sgs4gr4v6aepuwdgq';
COMMIT;
Приведенный выше код работает нормально при работе на терминале MySQl 5.7. Однако я пытаюсь выполнить тот же запрос из Hibernate иHibernate дает исключение - «Вложенный запрос не поддерживается».
Мой код Hibernate:
String queryToBeUpdate = "START TRANSACTION;\n" +
"\n" +
"UPDATE home SET currentSeq = 2 WHERE resId = '6hiuxhqkw4s1bta9a';\n" +
"UPDATE home SET currentSeq = 4 WHERE resId = 'hpvihvzk0vainpkgg';\n" +
"UPDATE home SET currentSeq = 6 WHERE resId = 'krfswe6wohjtugmtd';\n" +
"UPDATE home SET currentSeq = 3 WHERE resId = 'tcybuiuulkju5wjre';\n" +
"UPDATE home SET currentSeq = 7 WHERE resId = 'sgs4gr4v6aepuwdgq';\n" +
"\n" +
"COMMIT;";
Query q =sessionFactory.getCurrentSession().createSQLQuery(queryToBeUpdate);
q.executeUpdate();