# Array / Bitset in Mysql-DB speichern



## lissa (10. Jun 2004)

Hallo, 
ich suche nach einer Möglichkeit, wie ich ein Array und ein Bitset in einer Mysql-DB speichern kann. Es muss eine Lösung geben, es gibt ja die Methode getArray von Resultset, das mir den Inhalt als Array zurückgibt und auch getObject. Irgendwie hat das wohl was mit einer Map-Tabelle zu tun und mit benutzerdefinierten Datentypen, hab aber noch nichts wirklich verständliches dazu gefunden. Hat jemand einen tipp? Das wäre super! Oder Beispielcode - das wäre natürlich noch besser!!!
Grüße
lissa


----------



## nollario (11. Jun 2004)

Mit Blobs habe ich mal unter MySql gearbeitet... Das ging gut... Die Objekte mussten nur serialisierbar sein und dann konnte man sie mit get und set Blob wegschreiben und wiederholen. Allerdings durften die nicht zu groß werden, sonst hat MySql irgend so nen seltsames Problem gehabt...

mit getArray... habe ich aber noch nie unter Jdbc gearbeitet. sorry


----------



## Guest (13. Jun 2004)

mit der Serialisierung hats geklappt  sowohl mit einem int [] wie mit dem Bitset, funzt auch mit eigenen Objekten
Falls mal noch jemand das Problem hat:


```
int [] zt = .....
ByteArrayOutputStream bout = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(bout);
out.writeObject(zt);
out.flush();
byte b [] = bout.toByteArray();
b kann jetzt in ein Blobfeld geschrieben werden
```

und wieder raus aus der DB:

```
Statement statement = connection.createStatement();
			String sql = "select * from xy"
			ResultSet r = statement.executeQuery(sql);
			byte b[];
			ObjectInputStream in;
			while (r.next())
			{
				......
				
				b = r.getBytes(8);
                                //Deserialisierung:
				in = new ObjectInputStream(new ByteArrayInputStream(b));
				int []zt = (int[])in.readObject();
....
```


----------



## Oliver001 (25. Jun 2004)

Sun garantiert nicht, dass zukünftig implementierte Serialisierungslogiken rückwärtskompatibel sein werden.

Von einer längerfristigen persistenten Speicherung von Objekten unter Zuhilfenahme der Serialisierung ist daher abzuraten. Ausser die Java-VM wird nie geupdated und Du schreibst neue Releases mit der älteren SDK.

Speicherung über Wochen oder einige Monate ist jedoch denkbar.


----------

