Я получил приложение Java, использующее таблицы SQL, которые содержат упорядоченный список объектов, упорядоченных по
столбец заказа. Я хотел бы добавить / удалить вещи в / из середины
из списка. Теперь мне интересно, есть ли какой-то постоянный фреймворк / orm / you-name-it
может предоставить такую функциональность с пакетным обновлением заказа
колонка.
В базовом случае Hibernate (и, вероятно, другие также) обеспечивают это
функциональность.
Проблема в том, что объекты обрабатываются по одному, что становится
проблема, когда список достаточно велик. Альтернативное решение было бы
выполните это с помощью пакетного обновления SQL, например, как показано ниже:
UPDATE table SET order_col = order_col + 1 WHERE order_col > 47
INSERT TO table VALUES ('new_id', 'new_description, ..., 47)
, который выполняется довольно быстро ядром базы данных, но не поддерживается.
Теперь я понимаю, что это
вид пакетных обновлений не подходит так хорошо, когда мы думаем об объектах и их
контроль версий, грязная проверка и т. д.
Я бы по-прежнему спрашивал, есть ли у кого-нибудь хорошие идеи или настойчивость
Framework / ORM / you-name-it предоставит некоторую помощь.
Конечно, я могу сделать это с пользовательским SQL / HQL / ... но мне было интересно
если бы уже было какое-то решение (я думаю, что кто-то другой мог бы
сделали что-то подобное раньше и даже поместили под открытым исходным кодом). Также приветствуются другие хорошие идеи, связанные с проблемой =)