Spring Data JDBC Extensions

Spring Data JDBC Extensions is part of the umbrella Spring Data project. The JDBC support in the Spring Framework is extensive and covers the most commonly used features. This extension project provides additional support for working with advanced Oracle database features.

Quick Start
Fork me on GitHub

The bulk of the support is made up of code ported from the SpringSource project "Advanced Pack for Oracle Database" that was available for support subscription customers. We are now making this code available to all Spring users and any new developments will be made in the Spring Data JDBC Extensions project.



  • QueryDSL Support (Deprecated as of version 1.2.0) - Support for using the QueryDSL SQL module with a QueryDslJdbcTemplate that combines the functionality of QueryDSL and the familiar JdbcTemplate. This provides a type-safe API for query, insert, update and delete operations combined with the conveniences of Spring's JdbcTemplate support, e.g. RowMapper, resource management, declarative transaction management, etc.


  • RAC "Fast Connection Failover" - The RAC "Fast Connection Failover" provides the ability to have a Spring application transparently failover when a database node fails.
  • Streams AQ (Advanced Queueing) - The AQ support provides the option of using a single local transaction manager for both database and message access without resorting to expensive distributed 2-phase commit transaction management.
  • XML Types - Custom classes, examples and documentation on how to use Oracle JDBC extensions for their native XML Type.
  • Advanced Data Types - Custom classes, examples and documentation on how to use Oracle JDBC extensions for their advanced data types like STRUCT and ARRAY.
  • Custom DataSource Connection Preparer - This feature provides an API for customizing the connection environment with Oracle specific session settings etc.

Quick Start


The recommended way to get started using spring-data-jdbc-ext in your project is with a dependency management system – the snippet below can be copied and pasted into your build. Need help? See our getting started guides on building with Maven and Gradle.