Hallo!
Ich habe eine Frage bezüglich der richtigen Herangehensweise: Ich habe das immer wieder aufkommende Problem, dass ich mit einer bereits existierenden Datenbank zu arbeiten habe.
Für mich als Entwickler heißt das, erstmal vernünftige Java-Klassen zu erstellen, so dass man dann - unabhängig von der Datenbank - mit Objekten hantieren kann.
Bisher benutze ich ziemlich genau die Herangehensweise von diesem Tutorial, aber dieser Weg ist - wie ich denke - nicht der richtige. Schließlich muss man zu jeder Tabelle manuell eine Klasse erstellen und alle Attribute reinfüllen, was bei tausenden Tabellen mit tausenden Attributen nicht der richtige Weg sein kann. Außerdem ist die Herangehensweise nicht genug von der Datenbank abstrahiert - man muss immerhin noch SQL-Quellcode einfügen. Dies macht den Anschein, dass das Spring-Framework nicht in allen Facetten verwendet wurde.
Hierzu vielleicht ein PHP-Vergleich: Bindet man das Zend-Framework ein, so benötigt man für das Abbild einer Datenbank lediglich den Quellcode
Durch die Vererbung und die Wahl des Klassennamens kapiert das Zend-Framework automatisch, dass es sich um ein 1:1 Abbild einer Datenbanktabelle mit dem Namen "asdf" handelt, welche sich in der Datenbank befindet, zu der die Verbindung besteht. Nun kann man - ohne sie je neu definiert zu haben - Methoden wie
verwenden, da dies alles über Vererbung geschieht.
Ich weiß, das geschieht dort vor allem über das Verwenden von magischen Methoden, aber irgendein Framework muss es doch in Java geben, mit dem man diese nervige Arbeit nicht mehr hat.
Weiß jemand eins? Oder ein Eclipse-Plugin zur automatischen Codegenerierung? Oder kennt jemand eine Herangehensweise mit dem Spring-Framework, die nicht so falsch ist wie die im obigen Tutorial beschriebene?
Gruß, Rokko
Ich habe eine Frage bezüglich der richtigen Herangehensweise: Ich habe das immer wieder aufkommende Problem, dass ich mit einer bereits existierenden Datenbank zu arbeiten habe.
Für mich als Entwickler heißt das, erstmal vernünftige Java-Klassen zu erstellen, so dass man dann - unabhängig von der Datenbank - mit Objekten hantieren kann.
Bisher benutze ich ziemlich genau die Herangehensweise von diesem Tutorial, aber dieser Weg ist - wie ich denke - nicht der richtige. Schließlich muss man zu jeder Tabelle manuell eine Klasse erstellen und alle Attribute reinfüllen, was bei tausenden Tabellen mit tausenden Attributen nicht der richtige Weg sein kann. Außerdem ist die Herangehensweise nicht genug von der Datenbank abstrahiert - man muss immerhin noch SQL-Quellcode einfügen. Dies macht den Anschein, dass das Spring-Framework nicht in allen Facetten verwendet wurde.
Hierzu vielleicht ein PHP-Vergleich: Bindet man das Zend-Framework ein, so benötigt man für das Abbild einer Datenbank lediglich den Quellcode
PHP:
<?php class Beispieltabelle extends Zend_Db_Table_Abstract{}
Durch die Vererbung und die Wahl des Klassennamens kapiert das Zend-Framework automatisch, dass es sich um ein 1:1 Abbild einer Datenbanktabelle mit dem Namen "asdf" handelt, welche sich in der Datenbank befindet, zu der die Verbindung besteht. Nun kann man - ohne sie je neu definiert zu haben - Methoden wie
PHP:
$table = new Beispieltabelle();
$data = array(
'columnName1' => 'Inhalt erste Spalte',
'columnName2' => 'Inhalt zweite Spalte'
);
$table->insert($data);
Ich weiß, das geschieht dort vor allem über das Verwenden von magischen Methoden, aber irgendein Framework muss es doch in Java geben, mit dem man diese nervige Arbeit nicht mehr hat.
Weiß jemand eins? Oder ein Eclipse-Plugin zur automatischen Codegenerierung? Oder kennt jemand eine Herangehensweise mit dem Spring-Framework, die nicht so falsch ist wie die im obigen Tutorial beschriebene?
Gruß, Rokko