S
SQL
Gast
Hallo
ich will eine Datanbank anlegen, auslesen.. Ich wollte das so machen das ich mir ein große Anzahl von Klassen zur Datenhaltung schreibe. Die Klassen enthalten lediglich öffentliche Eigenschaften wie zum Beispiel public String myString.
Ich wollte mir nun eine Klasse schreiben die über Reflections diese Eigenschaften ausliest und schreibt. Dabei werden auch die Query für die Datanbankabfrage so zusammengebaut. Das Problem ist das ich folgende Exception bekomme:
java.lang.IllegalArgumentException
at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(Unknown Source)
at sun.reflect.UnsafeObjectFieldAccessorImpl.set(Unknown Source)
at java.lang.reflect.Field.set(Unknown Source)
at database.Query.getRSet(Query.java:635)
at database.Query.getRow(Query.java:218)
at database.testDB.main(testDB.java:90)
Hier ein paar ausschnitte aus dem Quellcode
//obj ist die Übergebene Instanz aus einer der obigen Klassen
pubField= new Field[obj.getClass().getFields().length];
pubField = obj.getClass().getFields();// hier speichere die Felder
//Jetzt erfolgt die Datanbank abfrage mit einen PreparedStatement. rSet ist ein ResultStament
//Wenn die nächste Zeile ausgeführt wird und ich nun versuche das Object der Klasse zu schreiben kommt die obige Fehlermeldung.
//Was ich nicht verstehe ist das (Unknown Source).
pubField.set(pubField,rSet.getObject(pubField.getName()));
Wenn ich im Debugger mein Field anschaue steht darunter:
fieldAccessor= UnsafeObjectFieldAccessorImpl (id=77)
Wie kommt das zustande und was ist das. Was kann ich dagen tun. Oder ist mein Ansatz schon Falsch sollte ich
das vielleicht über Methoden machen.
Vielen Dank und scöne Grüße
SQL
ich will eine Datanbank anlegen, auslesen.. Ich wollte das so machen das ich mir ein große Anzahl von Klassen zur Datenhaltung schreibe. Die Klassen enthalten lediglich öffentliche Eigenschaften wie zum Beispiel public String myString.
Ich wollte mir nun eine Klasse schreiben die über Reflections diese Eigenschaften ausliest und schreibt. Dabei werden auch die Query für die Datanbankabfrage so zusammengebaut. Das Problem ist das ich folgende Exception bekomme:
java.lang.IllegalArgumentException
at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(Unknown Source)
at sun.reflect.UnsafeObjectFieldAccessorImpl.set(Unknown Source)
at java.lang.reflect.Field.set(Unknown Source)
at database.Query.getRSet(Query.java:635)
at database.Query.getRow(Query.java:218)
at database.testDB.main(testDB.java:90)
Hier ein paar ausschnitte aus dem Quellcode
//obj ist die Übergebene Instanz aus einer der obigen Klassen
pubField= new Field[obj.getClass().getFields().length];
pubField = obj.getClass().getFields();// hier speichere die Felder
//Jetzt erfolgt die Datanbank abfrage mit einen PreparedStatement. rSet ist ein ResultStament
//Wenn die nächste Zeile ausgeführt wird und ich nun versuche das Object der Klasse zu schreiben kommt die obige Fehlermeldung.
//Was ich nicht verstehe ist das (Unknown Source).
pubField.set(pubField,rSet.getObject(pubField.getName()));
Wenn ich im Debugger mein Field anschaue steht darunter:
fieldAccessor= UnsafeObjectFieldAccessorImpl (id=77)
Wie kommt das zustande und was ist das. Was kann ich dagen tun. Oder ist mein Ansatz schon Falsch sollte ich
das vielleicht über Methoden machen.
Vielen Dank und scöne Grüße
SQL