PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : com.sun.rowset.CachedRowSetImpl - Kopieren schlägt fehl



Tyset
02-10-2006, 13:12
Hallo allerseits,
ich versuche ein Objekt vom Typ CachedRowSetImpl durch aufrufen der createCopy()-Methode zu kopieren. Das schlägt fehl:
"Clone failed - org.hsqldb.jdbc.jdbcResultSet".

Ich habe mir den JDK-Sourcecode besorgt und so diesen Stacktrace reproduzieren können:
"java.io.NotSerializableException: org.hsqldb.jdbc.jdbcResultSet
at java.io.ObjectOutputStream.writeObject0 ObjectOutputStream.java:1075)

at java.io.ObjectOutputStream.defaultWriteFields(Obje ctOutputStream.java
:1369)
at java.io.ObjectOutputStream.writeSerialData(ObjectO utputStream.java:13
41)
at java.io.ObjectOutputStream.writeOrdinaryObject(Obj ectOutputStream.jav
a:1284)
at java.io.ObjectOutputStream.writeObject0(ObjectOutp utStream.java:1073)

at java.io.ObjectOutputStream.writeObject(ObjectOutpu tStream.java:291)
[...CachedRowSet...]
[... mein code....]"

Das klingt logisch, da ja ResultSet nicht serialisierbar ist. Jedoch verwundert es mich, das der Fehler in den Klassen von Sun auftritt. Ich brauche eine deepcopy des Objektes, deswegen fällt mir kein Workaround ein.

Ich hoffe jemand kennt eine Lösung oder einen Workaround,
Tobias

falke2203
02-10-2006, 19:07
Hmmm... Klingt nach einem weiteren Grund, den ausdrücklichen Hinweis von Sun, alle Klassen unterhalb von com.sun nicht direkt zu verwenden, Ernst zu nehmen. Vielleicht gehst du mal etwas ins Detail was du konkret vor hast, vielleicht fällt dazu jemand anderem etwas ein wie dein Problem zu lösen ist...