Quote Originariamente inviata da andreu Visualizza il messaggio
La struttura dovrebbe essere : Documento con istanze Capitolo con istanze Sottocapitolo. Tutti conterranno vettori di Stringhe.
A prescindere dalla profondità della struttura, il mio dubbio è se sia consigliabile salvare dati di grosse dimensioni e per lunghi periodi in formato Oggetto, o ci siano delle controindicazioni.
Le uniche due controindicazioni che conosco sono : impossibilità di modificare l'oggetto serializzato e maggiori dimensioni del db.
Aggiungo che non ho necessità di eseguire query SQL sull'oggetto, ma le eseguirò su campi correlati come titolo, autore data, salvati come varchar o data.
I problemi nell'utilizzare la "serializzazione degli oggetti" di Java per una memorizzazione persistente (e oltretutto su db) sono più o meno quelli che hai già compreso tu.
Hai un bel blocchettone di byte che:
a) non è intelleggibile da un umano.
b) è utilizzabile solo da Java (non da altri linguaggi es. C, C++, Perl ecc..).
c) non è modificabile con accesso "casuale" e di norma non si appendono dati al fondo (la serializzazione di Java non è stata pensata per funzionare in "append").

Detto questo ... hai pensato ad XML? Es. (sparato come ipotesi):

codice:
<?xml version="1.0" encoding="UTF-8"?>
<documento titolo="abc">
<capitolo titolo="xyz">
  ......
</capitolo>
  ......
</documento>

XML è fatto proprio per questo: per strutturare dati.