# Informix JDBC: Unerwartete Dateien



## scooterJava (13. Feb 2009)

Ich lese eine Datenbank in ein ResultSet ein und speichere mir die Ergebnisse über

```
CachedRowSetImpl crs = new CachedRowSetImpl();
crs.populate(resultset);
```
Das funktioniert alles, wie erwartet, bis auf eines: Bei der Methode populate() wird eine Datei des Namens ifxb_AWT_EventQueue-* angelegt. In der Doku zu CachedRowSet heißt es, dass die Ergebnisse in den Speicher gelesen werden. Offenbar meint "Speicher" hier "Festplatte", nicht "Arbeitspeicher". Es reicht mir aber, das CachedRowSet im Arbeitsspeicher zu belassen.

Weiß jemand, wie ich das Anlegen dieser Datei verhindern kann?


----------



## foobar (13. Feb 2009)

Warum speicherst du dein Resultset nicht in einer Collection von Pojos?


----------



## scooterJava (13. Feb 2009)

Was sind Pojos?


----------



## foobar (13. Feb 2009)

Simple Klassen: http://de.wikipedia.org/wiki/Plain_Old_Java_Object

Was ist der tiefere Sinn eines CachedRowSet? Wenn du das in deiner Anwendung rum schiebst, haste in der GUI DB-Code.


----------



## scooterJava (13. Feb 2009)

Objektorientiertheit ist ja ganz schön, ich habe allerdings von Problemen gehört, relationale Datenbanken objektorientiert umzusetzen. Auch kommt kein JavaEE zum Einsatz.

Danke für die Hilfe, aber meine ursprüngliche Frage ist leider noch nicht beantwortet.


----------



## foobar (13. Feb 2009)

Mit JavaEE hat das nichts zu tun.

Wenn du mit reinem JDBC arbeiten mußt/willst, kann ich dir Spring JDBC nur wärmstens empfehlen: http://static.springframework.org/spring/docs/2.0.x/reference/jdbc.html

Ansonsten gibts noch iBatis http://ibatis.apache.org/

Das ResultSet in ein CachedRowSet einzulesen ist die denkbar schlechteste Lösung.


----------



## scooterJava (13. Feb 2009)

Ich habe die Ursache für das Anlegen der Dateien gefunden. Der Treiber muss beim Verbindungsaufbau noch als Parameter ein ";lobcache=-1" erhalten, dann bleibt der BLOB im Arbeitsspeicher.


----------

