Re: Erfahrungen mit/Meinungen zu JDBC 4?



Ingo R. Homann schrieb:

Mein Eindruck: Für Mini-Anwendungen ne praktische Sache, aber das Ganze
dürfte IMHO recht schnell an seine Grenzen stoßen.

Und die Grenze wäre...?

Und wie stelle ich Anfragen, die erst zur Laufzeit zusammengebastelt
werden - geht das überhaupt?

Parameter sind möglich:

@Select("... where foo = ?1")
DataSet<Bar> getFoos(String foo)

Und für noch dynamischeres SQL gibt es natürlich die normalen Statements
wie sie seit JDBC 1.0 existieren.

Unterstützt das auch ResultSets von gejointen Tabellen?

Ja, aber das ist dann nicht mehr änderbar. Und man muss sich (im
Gegensatz zu dem, was LINQ bei .NET bieten wird) eine passende Klasse
für diese Ergebnisse bauen.

Welche Annotationen neben "uniqueIdentifier" und "name" gibt es noch?

Das waren alle Attribute für @ResultColumn. Neben @Select gibt es noch
@Update, wenn man UPDATE, DELETE oder INSERT, also SQL-Befehle, die kein
ResultSet liefern, sondern einen Update-counter, über das
Query-Interface aufrufen möchte.

Überhaupt: Wäre das ohne Annotationen mit Plain-Java-Mitteln nicht
besser gemacht?

Wie zum Beispiel?

Was ist, wenn ich gar nicht will, dass Änderungen an der Datenstruktur
auch in die Tabelle übernommen werden?

Dann erkläre deine Query als read-only bzw. rufe einfach nicht modify(),
insert() oder delete() auf dem DataSet auf.

Oder wenn es nicht so einfach
gemacht ist (foreign keys, indizes, default-Werte, ...)?

Es gibt AFAIK kein Konzept für foreign keys - es geht nur um einzelne
Tabellen. Was für Support brauchst du für Indices? Das regelt die DB
doch selbst? Default-Werte sind dem System auch unbekannt - man müsste
Objekte nach dem Schreiben erneut auslesen, um diese zu bekommen, denke ich.

Läßt sich das in irgendeiner Weise erweitern?

Nicht das ich wüsste. Das würdest du erweitern wollen?

--
Stefan Matthias Aust
.



Relevant Pages


Loading