You are here

JDBC & Hibernate Package & Version Changes

With NuoDB v3.4, we changed how we package and version our JDBC and Hibernate drivers.

Previously, we have always versioned and packaged the JDBC and Hibernate drivers with the NuoDB database. This tight coupling with the NuoDB database version has led to a lot of confusion on which driver version to use with which release. Customers assumed that the version shipped with the NuoDB database is the only version that can be used with that database version.

This is not correct. In fact, it hasn’t been correct since NuoDB v1.0. We have maintained compatibility with every release. You can use the JDBC driver from NuoDB v1.0 with NuoDB v3.4 or use the current JDBC driver with NuoDB v1.0.

However, since the driver was tied to the NuoDB database release cycle, a bug fix to the JDBC driver would also be tied to a specific release. For example, a fix to the driver in a v.3.2.x maintenance release would be applicable to all current releases (v3.3.x and v3.4.x) but customers would not see it since it was part of the v3.2.x release only. Customers would have to wait until the next release of their version.

Also, bundling them together made it very difficult for us to deliver timely updates to the drivers; we had to wait until the next NuoDB release was out to provide fixes, which is a much more time-consuming process than simply testing and releasing the driver alone.

To remove this confusion, we have decoupled the JDBC and Hibernate drivers from the NuoDB database. This is similar to what Postgres has done with their drivers.

Starting with v3.4:

  • The JDBC and Hibernate drivers will no longer be part of the NuoDB database installation. Instead, customers need to retrieve the drivers from Maven. There is a link to download the JAR if you are not using a dependency management tool - see screenshot below.
    nuodb maven repo
     
  • Also, we have changed the version of the JDBC and Hibernate drivers to v20.0.0. We deliberately jumped to v20 so that there is no confusion between the driver and NuoDB versions.
    The driver release version will follow the traditional Semantic Versioning scheme used by other Java/Maven packages, and represents the stability of the interface between the driver and the application, not between the driver and the NuoDB server. So, the major version in the JDBC driver will change from 20.x to 21.x only when the API between our JDBC driver and the application changes in some incompatible way.
     
  • For the Hibernate driver, we’ve also added a suffix of ‘-hib3’ and ‘-hib5’ to differentiate between the drivers supporting Hibernate v3.x and v5.x. For additional information, please see our documentation on using the NuoDB Hibernate driver.

These changes should improve and simplify your experience with using NuoDB. Still have questions? Contact us using the NuoDB Community Forum.

Add new comment