Spring Data JDBC Extensions Reference Documentation


Thomas Risberg


Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.

Table of Contents

I. Core JDBC Extensions
1. Features provided
2. Requirements
1. Support classes that extend Spring features
1.1. Mapping a one-to-many relationship
2. Querydsl Support
2.1. Introduction to Querydsl
2.2. QueryDslJdbcTemplate
2.3. Queries
2.4. Inserts
2.5. Updates
2.6. Deletes
II. JDBC Extensions for the Oracle Database
1. Features provided
2. Requirements
3. Oracle Pooling DataSource
3.1. Configuration using the traditional <bean> element
3.2. Using the "orcl" namespace to configure the OracleDataSource
3.3. Using a properties file directly for connection properties
3.4. Additional connection and cache properties
3.4.1. Using the property file for additional connection properties
3.4.2. Using the property file for additional cache properties
3.4.3. Using "connection-properties" element for additional connection properties
3.4.4. Using "connection-cache-properties" element for additional cache properties
3.4.5. Using "username-connection-proxy" element for proxy connections
3.5. Summary of configuration options for the "pooling-data-source"
4. Fast Connection Failover
4.1. DataSource Configuration
4.2. AOP Configuration for Fast Connection Failover Retry
4.2.1. Configuration when defining transactions using a <tx:advice> and an <aop:advisor>
4.2.2. Configuration when defining transactions using @Transactional annotation
4.3. Configuration options for <rac-failover-interceptor>
5. Oracle's Streams AQ (Advanced Queueing)
5.1. Supported payload types
5.2. Configuration of the Connection Factory using the "orcl" namespace
5.3. Configuring the Connection Factory to use the same local transaction as your data access code.
5.4. Configuration when using a SYS.XMLType payload
5.4.1. Enqueuing XML messages
5.4.2. Dequeuing XML messages
5.5. Configuration when using a custom ADT payload
5.5.1. Enqueuing ADT messages
5.5.2. Dequeuing ADT messages
6. XML Types
6.1. Dependencies
6.2. Writing XML to an XMLTYPE column
6.3. Reading XML from an XMLTYPE column
6.4. Marshalling an object to an XMLTYPE column
6.5. Unmarshalling an object from an XMLTYPE column
7. Advanced Data Types
7.1. Using a STRUCT parameter
7.1.1. Using an SQLData implementation for a STRUCT IN parameter
7.1.2. Using SqlReturnSqlData with an SQLData implementation from a STRUCT OUT parameter
7.1.3. Setting STRUCT attribute values using SqlStructValue for an IN parameter
7.1.4. Using SqlReturnStruct to access STRUCT data from an OUT parameter
7.2. Using an ARRAY parameter
7.2.1. Setting ARRAY values using SqlArrayValue for an IN parameter
7.2.2. Using SqlReturnArray to handle the ARRAY from an OUT parameter
7.3. Handling a REF CURSOR
7.3.1. Retrieving data using a ParameterizedBeanPropertyRowMapper from a REF CURSOR
8. Custom DataSource Connection Configurations
8.1. Configuration of a Proxy Authentication
8.2. Configuration of a Custom DataSource Connection Preparer