Spring Data JDBC Extensions


NOTICE: This project is no longer actively developed and will be moved to the attic later this year.

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.

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.

Spring Initializr

Quickstart Your Project

Bootstrap your application with Spring Initializr.


Each Spring project has its own; it explains in great details how you can use project features and what you can achieve with them.
1.2.1.RELEASE CURRENT GA Reference Doc. API Doc.
2.0.0.M1 PRE Reference Doc. API Doc.

A few examples to try out: