Understanding SQL & Java Together: A Guide to SQLJ, JDBC, and Related Technologies

In June 1998, Javasoft released the specification for the JDBC 2.0 Core API. This specification extends the JDBC 1.0 API in a number of interesting ways. The impetus for these changes came from several directions:
Some valuable capabilities of relational DBMSs were not available using the JDBC 1.0 API.
SQL:1999 (which was then called SQL3) was in the final stages of its adoption as a formal standard. SQL:1999 provides many new features, including new primitive data types and user-defined types (UDTs).
SQLJ Part 2 allows the definition of SQL columns with Java classes as their basis.
The JDBC 2.0 API is actually made up of two parts, the JDBC 2.0 Core API [1] and the JDBC 2.0 Standard Extensions API [2] (which is now being called the Optional Package API by Sun). The JDBC 2.0 Core API is a superset of the JDBC 1.0 API. Implementations of JDBC 2.0 will provide backward compatibility for applications that were written against the JDBC 1.0 API. It is the JDBC 2.0 Core API that we primarily discuss in this chapter.
This split reflects a general decision by Sun to provide a Java 2 Platform core that is reasonably small and then define a series of separately loadable extensions that support particular types of applications. Along with size differentiation, this split allows the extensions to be developed after the core has been completed.
The JDBC 2.0 Core API is provided by the updated java.sql package contained in the Java...