Einfache O/RM Repositories Grepo

Ich weiß nicht mehr in wievielen Kontexten ich das hier (semantisch) schon gesehen habe:
Java:
@In(name = "p_integer", sqlType = Types.INTEGER) int param2

Der erste Metaparameter dient ja nur zur Parameteridentifikation in der sql procedure.
Nein, stimmt nicht, die Reihenfolge wird dadurch nicht bestimmt. Hmm...

Der zweite Parameter ist da schon interessanter.
Ich glaube das erste Mal war bei Perl XS, das Mapping von Skalaren auf C Variablen. Es heißt dort typemap und ist perl5-typisch relativ kryptisch gehalten.
Es muß allerdings noch jemanden geben, der die beiden Datenrepräsentationen ineinander konvertieren kann.
Das brauchsts hier nicht, da beide Seiten diesselbe Repräsentation verwenden, nämlich die von Java.

Disclaimer: Ich habe die Beispiele nicht probiert und schieße jetzt ins Blaue:
Gemäß Convention over Configuration hätte ich erwartet, dass der sqlType Parameter aus dem Parametertypen inferiert werden könnte.
Falls das mal nicht so ist, könnte man das ja immer noch annotieren.

Ich bin gespannt wo uns das ganze Metadaten-Gerödel hinführt. ;-)
Ich hoffe, aus der Lombok-Richtung kommt noch ganz viel.
 
Zuletzt bearbeitet von einem Moderator:
Auch das ist wieder furchtbar unübersichtlich. Parameter annotieren ist wirklich häßlich.... Naja wem's gefällt. Ich halt mich fern von sowas.

Auf jeden Fall hast du recht, der Typ könnte aus dem Parameter abgeleitet werden. Der Name leider nicht, weil Schall und Rauch äh nicht in der Signatur.

Irgendwie scheints solche Frameworks im Moment auch zu Hauf zu geben....
 
Solche Mapping-Information in den Metadaten zu "verstecken" (ja, ...) finde ich schon elegant.
Die procedure an sich ist in einer anderen Sprache, und Du willst diese jetzt über Standardmechanismen (sprich: Methodenaufrufe) benutzen.
Es ist zumindest eine Abwägungssache, denn man könnte ja eine eigene Klasse implementieren, die das Gleiche tut, aber explizit ist.
Schicker wärs dann, wenn man aus dem Datenbank procedure Schnippsel direkt das entsprechende Interface rausgenerieren könnte.

Wäre mal interessant zu erfahren ob die Sprachwissenschaftler mit Metadaten auch rumexperimentieren oder ob der Schub eher aus der Praktikerecke kommt.
Metadaten an sich sind ja schon länger vorhanden, die frühere Sprachen haben AFAIK (und das ist ein ganz dickes AFAIK) eher Lisp-ähnliche Metaprogrammierung betrieben.
 
Ja das ist richtig. In Wissensbasierten System wurden früher häufig LISP verwendet und für eine natürlichsprachliche Ausgabe eines solche Systems wurde die Wissensbasis häufig noch mit Metadaten versehen.

Ich hab mittlerweile meinen eigenen Code geschrieben um aus der Tabellendefinition ne grundlegende Bean und nen grundlegenden DAO zu machen. Aus dem Datenbanktyp wird dann der Java-Typ abgeleitet. Also etwas andersherum. Muss ich allerdings auch nochmal ein wenig überarbeiten :)
 
Zurück