Persistance des objets [Java] - Java - Programmation
Marsh Posté le 05-11-2003 à 13:20:48
hu ?
java.lang.Serializable
java.io.ObjectOutputStream
java.io.ObjectInputStream
Marsh Posté le 05-11-2003 à 13:20:54
bah j'imagine qu'ils doivent bien avoir du brol pour la serialization non ?
Marsh Posté le 05-11-2003 à 13:21:44
persistence dans quoi ? bdd, fichier, autre ?
t'as regardé la sérialization ? http://java.sun.com/j2se/1.4.1/doc [...] zable.html
Marsh Posté le 05-11-2003 à 13:22:26
ca me fait tjs plaisir de coller un vent a benou sur les questions java
Marsh Posté le 05-11-2003 à 13:23:55
ReplyMarsh Posté le 05-11-2003 à 13:28:35
benou a écrit : persistence dans quoi ? bdd, fichier, autre ? |
fichier
sur des objet que jai cree (pas sur des objets de la lib java)
Marsh Posté le 05-11-2003 à 13:34:19
red faction a écrit : |
c'est fait pour ca ...
http://penserenjava.free.fr/pens/i [...] htm#04.036
Marsh Posté le 05-11-2003 à 13:34:51
lorill a écrit : bien fait |
moi je fais de l'information complète moi, monsieur
Marsh Posté le 05-11-2003 à 13:36:38
y a ca aussi : http://java.sun.com/docs/books/tut [...] ation.html
Marsh Posté le 05-11-2003 à 15:17:31
hibernate, jdo?
Marsh Posté le 05-11-2003 à 15:38:31
ReplyMarsh Posté le 05-11-2003 à 15:41:07
the real moins moins a écrit : tout de suite |
j'ai dit
Marsh Posté le 05-11-2003 à 17:22:40
DarkLord a écrit : |
c'est vrai : il a utilisé donc il a droit de sortir n'importe quel connerie. C'est la règle
Marsh Posté le 05-11-2003 à 17:27:15
benou a écrit : |
Donc ton
benou a écrit : |
c'était une connerie ?
Marsh Posté le 05-11-2003 à 17:30:33
J'allais faire la remarque, mais j'ai finalement attendu.
benou a écrit : |
Ça aussi c'est une connerie alors.
Marsh Posté le 05-11-2003 à 17:55:00
Krueger a écrit : Ça aussi c'est une connerie alors. |
bha oui
donc mon
benou a écrit : |
n'étais pas une connerie
Marsh Posté le 05-11-2003 à 19:22:43
il faut utiliser JNI
Marsh Posté le 06-11-2003 à 12:04:00
Y'a XMLEncoder aussi
Marsh Posté le 06-11-2003 à 15:06:51
mise en veille prolongée + Norton Ghost
Marsh Posté le 06-11-2003 à 18:05:17
Jai encore un prob
jai implementé une methode load et une methode save pour lobjet que je veux sauvegarder
pour sauver ca va je fait reference a this
mais pour le load qd jessaie dassocier qqch a this evidement ca foire ....
a part faire une class a part avec save et load et de faire lassociation en dehors de ma class a sauver jvois pas
Marsh Posté le 06-11-2003 à 19:23:29
un autre prob c que si je supprime un methode de mon objet (meme si elle ne sert plus) au chargement y me fait
Local class not compatible: stream classdesc serialVersionUID=-410453413405506366 local class serialVersionUID=-8438135075513564897
je comprends que si on enleve des donnnees membre ca marche plus mais pas des methodes
Marsh Posté le 06-11-2003 à 22:38:05
ça te dirait pas de lire un ptit tuto?
ou les docs, au moins
Marsh Posté le 06-11-2003 à 23:22:46
ReplyMarsh Posté le 06-11-2003 à 23:27:45
ReplyMarsh Posté le 06-11-2003 à 23:31:21
oui ok jai regarde dans la doc mais ya un ou deux trucs que jai pas encore tout a fait compris
c pour ca que je demandais mais bon ok jvais chercher comme un fou apres ca
Marsh Posté le 07-11-2003 à 00:02:04
ben je sais pas, tes derbières questions là elles avaient pas l'air d'avoir à voir ave la sérialisation ...
Marsh Posté le 07-11-2003 à 01:40:31
benou a écrit : ben je sais pas, tes derbières questions là elles avaient pas l'air d'avoir à voir ave la sérialisation ... |
euh ben,si carrement...la base dela base...
Marsh Posté le 07-11-2003 à 01:57:44
attend que je remonte mon valvier et je t'dplique
Marsh Posté le 07-11-2003 à 07:23:43
benou a écrit : ben je sais pas, tes derbières questions là elles avaient pas l'air d'avoir à voir ave la sérialisation ... |
bin carrément si
Marsh Posté le 07-11-2003 à 07:29:06
red faction a écrit : un autre prob c que si je supprime un methode de mon objet (meme si elle ne sert plus) au chargement y me fait |
Bon. Supposons que tu as un objet Toto. Cet objet a 3 attributs et 3 getters/setters pour les attributs en question. Pour une raison X tu décides que un des 3 attributs est read-only donc tu enlèves le setters (la méthode getMachin3).
Chaque fois que tu compiles un objet, le compilateur va lui donner un numéro de version. Si tu enlèves un méthode, le numéro de version va être *clairement* différent (je parle du comportement par défaut)
Donc si tu sérializes un vieux objet Toto puis que tu essaies de le rechopper 3 jours après, il va refuser de le réactivier pour la simple raison que le sérial ID est différent.
bon maintenant tu peux assigner toi meme le numéro de version d'un objet. Pour ca il faut définir un attribut
static final long serialVersionUID avec ta valeur.
Tu peux calculer une valeur avec un utilitaire appelé serialver qui est fournis avec le JDK.
Donc clairement si tu enlèves une méthode et que tu gardes le meme numéro de version, ca devrait marcher
Edit: je suis toujours très surpris des gens qui sont plus ou moins dans l'IT et qui sont incapables de taper genre 'java serialization' dans google et qui ne regarde pas la première page
http://developer.java.sun.com/deve [...] alization/
A moins que tu ais déjà lu et que tu n'ais pas compris, ce qui est différent mais bon là ...
Marsh Posté le 07-11-2003 à 12:06:32
DarkLord a écrit : |
red faction a écrit : Jai encore un prob |
c'est quoi le rapport avec la sérialisation là ???
C'est quoi ces méthodes "load" et "save"
et c'est quoi cette histoire de référence à this ???
Marsh Posté le 07-11-2003 à 12:10:33
benou a écrit : |
et il se mange un serialVer clash et ca n'a rien à voir avec la serialzation peut etre?
Marsh Posté le 07-11-2003 à 12:17:48
DarkLord a écrit : |
ca ok mais TOUT le reste ?
edit : bon ok, y avait que la 1ere question qui avait rien à voir ...
edit : en tout cas je vous pas pkoi vous m'avait contredit avec autant de véhémence et laissé passer ses histoires de load save et de this qui marche pas sans le prévenir qu'il faisait surement fause route
Marsh Posté le 05-11-2003 à 13:18:51
comment on fait ca en java?
bon ya pas de surdef des operateurs, donc soit il faut surdefinir une fonction(dont je ne connait pas le nom), ou alors utiliser ses propres fonction pour sauver et charger
help