Kompatybilność wsteczna Java 6 Source i SQL
Rozumiem, że w celu zachowania kompatybilności ze źródłami Java nigdy nie wprowadza nowych metod do publicznych interfejsów, ponieważ łamie to istniejących klientów implementujących interfejsy.Informacje o wersji Java stany
Zasadniczo zasady są następujące, z wyjątkiem niezgodności wymienionych poniżej:
Wersje serwisowe (takie jak 1.4.1, 1.4.2) nie wprowadzają żadnych nowych funkcji językowych ani interfejsów API. Będą zachowywać kompatybilność ze sobą.
Wydania funkcjonalności i główne wersje (takie jak 1.3.0, 1.4.0, 5.0) utrzymują w górę, ale nie są kompatybilne ze źródłami w dół.
A jednak pakietyjava.sql
ijavax.sql
nadal ewoluować i wprowadzać wiele niezgodnych zmian. Na przykład zauważyłem następujące niezgodne zmiany (wprowadzone w Javie 6):
java.sql.Statement
rozciąga sięjava.sql.Wrapper
, wymagające nowych dwóch nowych metod.java.sql.Statement
wprowadza 3 nowe metodyjava.sql.PreparedStatement
wprowadza 19 nowych metod!java.sql.ResultSet
wprowadza 48 nowych metod!Czy wiesz, jak i dlaczego te metody zostały dodane? Jestjava.sql
traktowane inaczej niż reszta platformy? Czy znasz dyskusję / JSR wokół tych dodatków?