Persist RoleRightType by стабільний getId() замість ordinal

Fixkamo-shared-library
Shipped
20 квітня 2026 р. о 20:59 UTC
Author
Kamo
Commit
ea4a85b

Hibernate @Enumerated(EnumType.ORDINAL) записує/читає декларацію-індексу анум. При видаленні значення RoleRightType (наприклад, MANAGE USERS, id=19), кожен наступний в'їзд змінного струму вниз по одному, одночасно getId() залишається поставлено - створення німої дивергенції. У цьому кодовому рядку сиро-SQL upsert *********** завжди написано getId(), тому після MANAGE USERS було видалено + нові права додано DB тепер має значення правого типу (наприклад, 136), які перевищують RoleRightType.values(). Довжина, що викликає Hibernate, щоб кинути ArrayIndexOutOfBoundsException on read andcrash launch. Introduce РольовіВидиКонвертер ****************************************************************************************************************************************************************************************************************************************************************************** Інтегер>) через getId(). Застосувати до всіх п'яти таблиць ORDINAL: - OrgRoleRight - Учасник - РоботаTitleRight - ВідділПраво Статус на сервери Unknown ids конвертувати назад в null so ********************* може очистити їх на наступному завантаженні, а не збиток. Дані стовпця вже відповідає getId() (тобто те, що вставкиIfAbsent пише), щоб не мігрувати потрібно — конвертер вирівнюється з тим, що насправді зберігається.

All changes

Як ви бачите відправлення?

Кожен з цих оновлень землі в робочому просторі автоматично. Почати вільний час і дивитися його на тиждень після тижня.

БезкоштовноПерегляд цін