JDBC: Unterschiede in Interfaces zwischen 2 Java-Versionen.

Status
Nicht offen für weitere Antworten.
T

tuxedo

Gast
Servus,

ich bastle ja gerade an meienm JDBC-Treiber (https://jpmdbc.dev.java.net) und bin da auch ein kleines Problemchen gestoßen:

Wenn ich mit Java 5 die für JDBC notwendigen Interfaces implementiere (implements blablabla), dann hab ich X Methoden die ich reinbasteln muss. Alles klar, kein Thema.

Lade ich den Code jetzt unter Java 6 meckert Eclipse ich hätte nochmal Y Methoden die ich mit implementieren müsste.
Scheint so als ob mit Java 6 sich die JDBC-Klassen vergrößert haben...

Nun, das Ding soll mit Java 5 und 6 laufen. Muss ich jetzt zwei Versionen basteln? Wie machen andere JDBC-Treiber das? Mir ist nämlich nicht bewusst dasses für Java 5 und 6 unterschiedliche JDBCs gibt.

- Alex
 

NTB

Bekanntes Mitglied
wenn bei Java6 einfach nur mehr Methodensignaturen im Interface vorhanden sind, dann implementier die doch.
Der Compiler meckert nur über nicht implementierte Methoden. Wenn Deine Klasse mehr Methoden hat, als das Java5 Interface, gibt es ja keine Probleme.
 
T

tuxedo

Gast
*Mit der Hand vor die Stirn klatsch* Stimmt... *Recht du hast* Sorum geht's... Andersrum nicht so arg :)

Sollte einfach nicht daheim mit Java 6 und im Büro mit Java 5 arbeiten :) Ist mir nämlich nur deshalb erst aufgefallen :-(
 
T

tuxedo

Gast
Ah, jetzt doch noch mal ... Hatte da was vergessen zu erwähnen:

Aaaalso:

Java 6 hat im vergleich zu Java 5 mehr Methoden die aufgrund der JDBC-Interfaces implementiert werden müssen...
Das ist ja auch nicht weiter tragisch, da die zusätzlichen Methoden i.d.R. niemanden stören, und jetzt kommt das ABER:

Diese neuen Methoden die man mit Java 6 implementieren muss, benutzen Klassen die in Java 5 nicht existieren.

Ich fasse zusammen:

Von Java 5 auf Java 6 gibts bei den JDBC-Interfaces nicht nur neue Methoden, sondern auch neue Klassen die diese neuen Methoden benutzen.

Also gibts hier doch ein "doofes" Problem. Heißt das jetzt dass ich zwei verschiedene Versionen produzieren muss, nur um Java 5 und 6 zu unterstützen?

- Alex
 
S

SlaterB

Gast
wie kann denn ein Interface eine Operation/ Klasse benutzen? als Rückgabewert/ Parameter?

wenn du bei der IMPLENTATION der Interfaces in deinen(!) Klassen Java6-Features verwendest,
dann funktioniert das in Java5 nicht mehr, richtig
 
T

tuxedo

Gast
Korrekt, die neuen Klassen die da, ich habs wohl doof ausgedrück, "benutzt" werden, sind als Rückgabewerte definiert.

Hab eben mal in den Source vom aktuellen MySQL JDBC (5.0.7) geschaut:

Die haben die neuen Methoden nicht drin. Grund: Kann man in der PDF lesen die dabei ist: Die haben das Ding nur bis Java 1.5 compiliert.

Mal ne "leicht" andere Frage:

Ich will das Ding weiterhin 1.5 kompatibel lassen. Aber dafür will ich nicht unbedingt Java 5 wieder installieren. Ich weiß dass es möglich ist dem Java 6 compiler zu sagen dass auf auf Versionsstufe von Java 5 compilieren soll. Das geht auch solange man nur Javav 5 Features benutzt.
Aber Eclipse wird mir ja nach wie vor vorhalten ich müsste da noch Methoden implementieren. Gibts hierfür ne praktikable Lösung?

Ah, und noch ne andere Frage:

Wenn ich das Ding jetzt mit Java 5 compiliere, und die Lib dann mti Java 6 benutze (was ja möglich sein sollte), wie macht Java das dann? Weil Java 6 geht ja anhand seiner Interfaces davon aus dass die neuen Methoden drin sind, oder? Bin gerade etwas verwirrt.

- Alex

[update] hoppala.. gibt ja schon mysql jdbc 5.1 ... da sind die neuen methoden schon drin. mal rein schauen
 
T

tuxedo

Gast
Oha, die haben das doch recht "geschickt" gemacht.

Die Jungs von MySQL AB schauen via Reflection ob es die neuen Klassen, die die JAVA 6 JDBC Interfaces benötigen, gibt. Und dann wird dynamisch nachgeladen. Damit bauen die sich, je nachdem ob JDBC4 von der JRE schon unterstützt wird, wahlweise ne Klasse mit oder ohne die neuen Methoden... Ist quasi professionelles Compiler-Verarschen :)

Krasse Sache...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kirby.exe JDBC Connector von Maven Repo importieren Allgemeine Java-Themen 1
O Zugriff auf mySQL ohne JDBC Allgemeine Java-Themen 3
V Maven Maven ClassNotFoundException MySQL JDBC Treiber Allgemeine Java-Themen 1
M JDBC DATE 0000-00-00 kann nicht ausgegeben werden Allgemeine Java-Themen 3
I Performance - JDBC UPC PoolDataSoure Allgemeine Java-Themen 0
K Classpath JDBC Driver auf Server Allgemeine Java-Themen 4
F Alternative sun.jdbc.odbc.JdbcOdbcDriver (Access Datenbank) Allgemeine Java-Themen 2
A Classpath programm findet jdbc nicht Allgemeine Java-Themen 4
D JDBC Allgemeine Java-Themen 8
M Junit und Mocks bei JDBC Daos Allgemeine Java-Themen 8
M jdbc treiber (h2) mit eigenem ClassLoader laden Allgemeine Java-Themen 4
G Große Datenmengen per JDBC Allgemeine Java-Themen 5
G JDBC Programm und niedrige Java-Versionen Allgemeine Java-Themen 14
G Text aus Zwischenablage in JTextarea -> JDBC Error Allgemeine Java-Themen 3
H Sekunden messen wie lange h.ibernate/jdbc abfragen brauchen Allgemeine Java-Themen 7
L JDBC Erklärung zu einer Java Anwendung Allgemeine Java-Themen 2
märliprinz com.sap.dbtech.jdbc.exceptions.JDBCDriverException Allgemeine Java-Themen 2
C ClassLoader - dymisches Laden von JDBC Drivers Allgemeine Java-Themen 3
V gezielte Datenbankeinträge über JDBC schnittstelle Allgemeine Java-Themen 10
M JDBC Class not found Allgemeine Java-Themen 2
Fredy JDBC: character Werte aus Tabellenspalten holen?? Allgemeine Java-Themen 2
O Socket-Unterschiede zwischen Windows und Ubuntu Allgemeine Java-Themen 2
R Assoziativer Speicher welche Unterschiede? Allgemeine Java-Themen 5
A zwei listen vergleichen und unterschiede anzeigen Allgemeine Java-Themen 3
G Unterschiede COM, CORBA, .Net, EJB Übersicht Allgemeine Java-Themen 9
J Unterschiede zwischen normaler und Debug Ausfuehrung? Allgemeine Java-Themen 2
G Unterschiede zwischen Java 5 und 6 Allgemeine Java-Themen 5
S Unterschiede zwischen SWINGS; Struts und AWT Allgemeine Java-Themen 4
T Unterschiede beim KeyListener zwischen NT und XP Allgemeine Java-Themen 6
D 2 Files/DBs auf Unterschiede vergleichen Allgemeine Java-Themen 7
bernd Unterschiede von Ordnerstrukturen in JTextArea anzeigen Allgemeine Java-Themen 4
R Unterschiede ziwschen Projektdatei und fertiger .jar Allgemeine Java-Themen 6
M Unterschiede zwischen Groß- und Kleinschreibung ignorieren Allgemeine Java-Themen 4
R Lesen von Interfaces (Programm Vervollständigen) Allgemeine Java-Themen 10
S Interfaces Allgemeine Java-Themen 10
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
S Kann man Variablen oder Felder definieren deren Typ zwei Interfaces ist..? Allgemeine Java-Themen 9
J Problem beim Generischen Klassen und Interfaces Allgemeine Java-Themen 2
S Kann ich eine Methode schreiben die alle Arten von funktionalen Interfaces akzeptiert..? Allgemeine Java-Themen 21
Stonie Prüfen von direkter Implementierung eines Interfaces Allgemeine Java-Themen 7
rentasad Design-Frage - Interfaces, Klassen, statische Methoden Allgemeine Java-Themen 3
J Generische Interfaces mehrfach einbinden Allgemeine Java-Themen 11
P Interfaces Allgemeine Java-Themen 1
K Wohin mit Interfaces? Allgemeine Java-Themen 2
J Interface Wofür Interfaces in Java verwenden? Allgemeine Java-Themen 3
F Namen des Interfaces ausgeben Allgemeine Java-Themen 1
P ClassCastException bei Verwendung eines Interfaces Allgemeine Java-Themen 7
F Sinn des Serializable Interfaces Allgemeine Java-Themen 8
G Interface Laden der Konfiguration über Interfaces sinnvoll? Allgemeine Java-Themen 28
X Generic muss zwei Klassen/Interfaces erfüllen Allgemeine Java-Themen 5
K Objekt einer konkreten Implementierung eines Interfaces durch übergebenen String Allgemeine Java-Themen 2
D Java Interfaces Allgemeine Java-Themen 3
sylo toString() Methode eines Interfaces überladen. Allgemeine Java-Themen 17
S statische Interfaces..? Allgemeine Java-Themen 6
M Frage zu Interfaces (Beispiel: Comparable) Allgemeine Java-Themen 13
I Interfaces und abstrakte Methoden Allgemeine Java-Themen 5
C Verständnis zur Strukturierung von Java-Projekten/Interfaces Allgemeine Java-Themen 2
M Methodenaufrufe sind über Interfaces langsamer. Allgemeine Java-Themen 43
J Verständnisfrage zu Casts auf Interfaces Allgemeine Java-Themen 5
J Statische Methoden in Interfaces? Allgemeine Java-Themen 10
J Immutable mit Interfaces möglich? Allgemeine Java-Themen 2
G verzweiflung pur mit java interfaces Allgemeine Java-Themen 5
M Bereits imlplementierte Interfaces nochmal bei "impleme Allgemeine Java-Themen 10
T Nochmal Frage zu Vererbung Interfaces etc. Allgemeine Java-Themen 10
F Implementierte Interfaces ermitteln Allgemeine Java-Themen 6
E Attribute in Interfaces möglich? Allgemeine Java-Themen 17
I Denkfehler bei Interfaces und Casts? Allgemeine Java-Themen 12
M 2 Java-Interfaces öffnen in Unix Allgemeine Java-Themen 4
B "Instantiieren" eines Objekts eines Interfaces Allgemeine Java-Themen 10
F Problem: mehrere Interfaces definieren equals() neu Allgemeine Java-Themen 24
F Probleme mit Interfaces Allgemeine Java-Themen 3
L Verschiedene Versionen eines Interfaces Allgemeine Java-Themen 12
S Methoden aus Interfaces mit unterschiedlichen Parametertypen Allgemeine Java-Themen 7
deetee Wie nennt man Interfaces wie Serializable? Allgemeine Java-Themen 8
B Elegantere Lösung bei der Implementierung eines Interfaces Allgemeine Java-Themen 2
N 2 Interfaces mit Methoden selber Signatur implementieren Allgemeine Java-Themen 5
D Implementierungen eines Interfaces finden Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben