tylerdurden83
19-07-2011, 12:11
Ragazzi mi sono appena reso conto di un piccolo guaietto capitato ad una delle app da me (parzialmente) gestite.
Il problema è che sono stati storicizzati degli oggetti su db, in blob su mysql, rappresentanti dei risultati di computazioni.
Tali oggetti erano serializzabili ma non contenevano un SerialVersionUID esplicito al loro interno.
Ora la classe è cambiata, e quindi quando provo a ricaricare tali oggetti ottendo una sugosa InvalidClassException.
Quello che mi piacerebbe fare è cercare di convertire tali oggetti in oggetti "nuovi", ie che usano la nuova implementazione della classe a cui appartengono. E' fattibile secondo voi? A naso direi che ho un problema di fondo, perchè non posso leggerli usando la vecchia classe, da questa crearne un'istanza con la nuova classe, e storicizzarla, dato che la vecchia e nuova classe hanno lo stesso nome e package...
Il problema è che sono stati storicizzati degli oggetti su db, in blob su mysql, rappresentanti dei risultati di computazioni.
Tali oggetti erano serializzabili ma non contenevano un SerialVersionUID esplicito al loro interno.
Ora la classe è cambiata, e quindi quando provo a ricaricare tali oggetti ottendo una sugosa InvalidClassException.
Quello che mi piacerebbe fare è cercare di convertire tali oggetti in oggetti "nuovi", ie che usano la nuova implementazione della classe a cui appartengono. E' fattibile secondo voi? A naso direi che ho un problema di fondo, perchè non posso leggerli usando la vecchia classe, da questa crearne un'istanza con la nuova classe, e storicizzarla, dato che la vecchia e nuova classe hanno lo stesso nome e package...