Sérialiser un objet directement dans une base de données
Bonjour,
Je souhaite sérialiser un objet pour le stocker dans une base de données HSQL dans un champ de type LONGVARBINARY.
Je suis ce tutoriel sur la sérialisation binaire et plus particulièrement la partie concernant la classe ObjectOutputStream.
Ce qui m'embête dans l'exemple ci-dessous (copié-collé du tuto) c'est que l'objet transite par un fichier, or moi je voudrais directement le stocker dans ma base de données avec une requête du genre INSERT INTO. Mais je ne vois pas du tout comment faire :(
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// création d'une personne
Personne p = new Personne("Dupont", "Jean", 36);
System.out.println("creation de : " + p);
// ouverture d'un flux de sortie vers le fichier "personne.serial"
FileOutputStream fos = new FileOutputStream("personne.serial");
// création d'un "flux objet" avec le flux fichier
ObjectOutputStream oos= new ObjectOutputStream(fos);
try {
// sérialisation : écriture de l'objet dans le flux de sortie
oos.writeObject(p);
// on vide le tampon
oos.flush();
System.out.println(p + " a ete serialise");
} finally {
//fermeture des flux
try {
oos.close();
} finally {
fos.close();
}
} |
Si vous avez une petite idée, je suis preneur :)