- Spegnimento
- 20 aprile 2026 alle ore 20:59 UTC
- Autore
- Kamo
- Impegno
- ea4a85b
Hibernate @Enumerated(EnumType.ORDINAL) scrive/legge l'indice di dichiarazione l'enum. Quando viene rimosso un valore RoleRightType (ad esempio MANAGE USERS, id=19), ogni ordinazione dell'entrata successiva si abbassa di uno mentre getId() resta messo — creare una divergenza silenziosa. In questo codebase l'upsert raw-SQL E' sempre stato scritto getId(), quindi dopo MANAGE USERS è stato rimosso + nuovi diritti aggiunti DB ora detiene i valori di destra tipo (ad es. 136) che superano RoleRightType.values().lunghezza, causando Hibernate a gettare ArrayIndexOutOfBoundsException su lettura e crash startup. Introduce RoleRightTypeIdConverter Non e' vero. Integer> che le piste ciclabili via getId(). Applicare a tutti e cinque i tavoli destra mappati ORDINAL: - OrgRoleRight - Stato membro - Titolo di lavoro - Dipartimento - Interrogazione n. Gli ids sconosciuti si convertono in null quindi... può pulirli sul prossimo avvio piuttosto che schiantarsi. I dati della colonna già corrisponde getId() (questo è ciò che insertIfAbsent scrive), quindi nessuna migrazione è necessario — il convertitore allinea Hibernate con ciò che è effettivamente memorizzato.