Обратная совместимость с Java 6 Source и SQL
Насколько я понимаю, для обеспечения совместимости с исходным кодом Java никогда не вводит новые методы для открытых интерфейсов, поскольку это нарушает работу существующих клиентов, реализующих интерфейсы.Примечания к выпуску Java состояния
In general, the policy is as follows, except for any incompatibilities listed further below:
Maintenance releases (such as 1.4.1, 1.4.2) do not introduce any new language features or APIs. They will maintain source-compatibility with each other.
Functionality releases and major releases (such as 1.3.0, 1.4.0, 5.0) maintain upwards but not downwards source-compatibility.
Тем не менее, пакетыjava.sql
а такжеjavax.sql
продолжать развиваться и вносить множество несовместимых изменений. Например, я заметил следующие несовместимые изменения (введенные в Java 6):
java.sql.Statement
extends java.sql.Wrapper
, requiring new two new methods.
java.sql.Statement
introduces 3 new methods
java.sql.PreparedStatement
introduces 19 new methods!
java.sql.ResultSet
introduces 48 new methods!
Знаете ли вы, как и почему эти методы были добавлены? Являетсяjava.sql
лечиться по-другому от остальной платформы? Знаете ли вы об обсуждении / JSR вокруг этих дополнений?