Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JAVA&MYSQL] Memorizzare xml in un campo del db

    Ho una classe che produce un flusso xml (abbastanza consistente) usando jdom e mi restituisce in particolare l’istanza dell’oggetto Document.
    Vorrei ora prendere questo Document o comunque il flusso xml e memorizzarlo in un singolo campo di una tabella MySql.
    Non ho capito però che tipo di campo usare per il db e come gestirlo in java? Sarebbe corretto usare una campo BLOB? E in lettura dal campo BLOB, mi restituisce il Document?

    Grazie mille e ciao.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Dovrai quasi certamente usare un campo BLOB (se, come hai detto, il documento può essere parecchio grande).

    A questo punto, però, hai due possibilità:

    1) Memorizzare nel BLOB il contenuto testuale del documento XML.
    2) Memorizzare nel BLOB l'oggetto Document serializzato (non ricordo se sia fattibile, documentati).

    Nel primo caso, in lettura, otterrai un array di byte con il contenuto del file XML (che può essere memorizzato in un oggetto String oppure usato per generare fisicamente il file).

    Nel secondo caso otterrai in lettura un array di byte che rappresenta la deserializzazione dell'oggetto Document e dovrà essere passato ad un ObjectInputStream (ti viene in soccorso l'interfaccia BLOB che espone il metodo getBinaryStream()) per la costruzione dell'oggetto Document.

    Se usi la JPA non ti dovrai nemmeno preoccupare di questi aspetti.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Capito...
    in effetti, ad esempio, hibernate mappa un campo di tipo blob con un array di byte.
    Ora però devo cercare di capire come costruire un oggetto Document di JDom a partire da un array di byte e viceversa. Dovrò studiare un pò...

    Grazie ancora.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.