or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

data-access.mdindex.mdobservability.mdspring-boot-components.mdspring-integration.mdtesting.mdweb-http.md

data-access.mddocs/

0

# Data Access Libraries

1

2

Database drivers, connection pools, ORM frameworks, and data access libraries with managed versions and compatibility guarantees. These libraries provide the foundation for data persistence in Spring Boot applications.

3

4

## Capabilities

5

6

### JDBC Drivers

7

8

Production-ready database drivers with optimized versions and exclusion management.

9

10

```gradle { .api }

11

// PostgreSQL

12

'org.postgresql:postgresql' // 42.7.7

13

14

// MySQL

15

'com.mysql:mysql-connector-j' // 9.2.0

16

17

// MariaDB

18

'org.mariadb.jdbc:mariadb-java-client' // 3.5.3

19

20

// Microsoft SQL Server

21

'com.microsoft.sqlserver:mssql-jdbc' // 12.10.0.jre11

22

23

// Oracle Database

24

'com.oracle.database.jdbc:ojdbc11' // 23.7.0.25.01

25

'com.oracle.database.jdbc:ojdbc17' // 23.7.0.25.01

26

'com.oracle.database.jdbc:ucp' // 23.7.0.25.01

27

28

// H2 Database (embedded)

29

'com.h2database:h2' // 2.3.232

30

31

// HSQLDB (embedded)

32

'org.hsqldb:hsqldb' // 2.7.3

33

34

// Apache Derby (embedded)

35

'org.apache.derby:derby' // 10.16.1.1

36

37

// SQLite

38

'org.xerial:sqlite-jdbc' // 3.49.1.0

39

40

// IBM DB2

41

'com.ibm.db2:jcc' // 12.1.2.0

42

43

// Firebird

44

'org.firebirdsql.jdbc:jaybird' // 6.0.2

45

46

// jTDS (alternative SQL Server/Sybase driver)

47

'net.sourceforge.jtds:jtds' // 1.3.1

48

```

49

50

### Connection Pooling

51

52

High-performance connection pools with production-tested configurations.

53

54

```gradle { .api }

55

// HikariCP (default Spring Boot connection pool)

56

'com.zaxxer:HikariCP' // 6.3.0

57

58

// Apache Commons DBCP2

59

'org.apache.commons:commons-dbcp2' // 2.13.0

60

61

// Commons Pool2 (DBCP2 dependency)

62

'org.apache.commons:commons-pool2' // 2.12.1

63

64

// Vibur DBCP

65

'org.vibur:vibur-dbcp' // 26.0

66

```

67

68

### R2DBC Drivers

69

70

Reactive database connectivity drivers for non-blocking data access.

71

72

```gradle { .api }

73

// R2DBC SPI (core specification)

74

'io.r2dbc:r2dbc-spi' // 1.0.0.RELEASE

75

76

// Connection pooling for R2DBC

77

'io.r2dbc:r2dbc-pool' // 1.0.2.RELEASE

78

79

// Proxy support for R2DBC

80

'io.r2dbc:r2dbc-proxy' // 1.1.6.RELEASE

81

82

// PostgreSQL R2DBC driver

83

'org.postgresql:r2dbc-postgresql' // 1.0.7.RELEASE

84

85

// MySQL R2DBC driver

86

'io.asyncer:r2dbc-mysql' // 1.4.1

87

88

// MariaDB R2DBC driver

89

'org.mariadb:r2dbc-mariadb' // 1.3.0

90

91

// Microsoft SQL Server R2DBC driver

92

'io.r2dbc:r2dbc-mssql' // 1.0.2.RELEASE

93

94

// H2 R2DBC driver

95

'io.r2dbc:r2dbc-h2' // 1.0.0.RELEASE

96

97

// Oracle R2DBC driver

98

'com.oracle.database.r2dbc:oracle-r2dbc' // 1.3.0

99

```

100

101

### ORM and JPA

102

103

Object-relational mapping frameworks with Spring integration.

104

105

```gradle { .api }

106

// Hibernate ORM

107

'org.hibernate.orm:hibernate-core' // 6.6.18.Final

108

'org.hibernate.orm:hibernate-envers' // 6.6.18.Final

109

'org.hibernate.orm:hibernate-spatial' // 6.6.18.Final

110

'org.hibernate.orm:hibernate-jcache' // 6.6.18.Final

111

'org.hibernate.orm:hibernate-micrometer' // 6.6.18.Final

112

113

// Hibernate connection pool integrations

114

'org.hibernate.orm:hibernate-hikaricp' // 6.6.18.Final

115

'org.hibernate.orm:hibernate-c3p0' // 6.6.18.Final

116

'org.hibernate.orm:hibernate-proxool' // 6.6.18.Final

117

'org.hibernate.orm:hibernate-vibur' // 6.6.18.Final

118

119

// Hibernate Validator

120

'org.hibernate.validator:hibernate-validator' // 8.0.2.Final

121

'org.hibernate.validator:hibernate-validator-annotation-processor' // 8.0.2.Final

122

123

// Jakarta Persistence API

124

'jakarta.persistence:jakarta.persistence-api' // 3.1.0

125

```

126

127

### Type-Safe SQL

128

129

Type-safe SQL query builders and DSLs.

130

131

```gradle { .api }

132

// jOOQ

133

'org.jooq:jooq' // 3.19.24

134

'org.jooq:jooq-codegen' // 3.19.24

135

'org.jooq:jooq-meta' // 3.19.24

136

'org.jooq:jooq-kotlin' // 3.19.24

137

138

// QueryDSL

139

'com.querydsl:querydsl-core' // 5.1.0

140

'com.querydsl:querydsl-jpa' // 5.1.0

141

'com.querydsl:querydsl-sql' // 5.1.0

142

```

143

144

### Database Migration

145

146

Schema migration and database change management tools.

147

148

```gradle { .api }

149

// Flyway

150

'org.flywaydb:flyway-core' // 11.7.2

151

'org.flywaydb:flyway-mysql' // 11.7.2

152

'org.flywaydb:flyway-database-postgresql' // 11.7.2

153

'org.flywaydb:flyway-database-oracle' // 11.7.2

154

'org.flywaydb:flyway-sqlserver' // 11.7.2

155

156

// Liquibase

157

'org.liquibase:liquibase-core' // 4.31.1

158

'org.liquibase:liquibase-cdi' // 4.31.1

159

```

160

161

### NoSQL Databases

162

163

NoSQL database drivers and clients with Spring Data integration.

164

165

```gradle { .api }

166

// MongoDB

167

'org.mongodb:mongodb-driver-core' // 5.5.1

168

'org.mongodb:mongodb-driver-sync' // 5.5.1

169

'org.mongodb:mongodb-driver-reactivestreams' // 5.5.1

170

171

// Redis

172

'redis.clients:jedis' // 6.0.0

173

'io.lettuce:lettuce-core' // 6.6.0.RELEASE

174

175

// Cassandra

176

'org.apache.cassandra:java-driver-core' // 4.19.0

177

178

// Couchbase

179

'com.couchbase.client:java-client' // 3.8.1

180

181

// Neo4j

182

'org.neo4j.driver:neo4j-java-driver' // 5.28.5

183

184

// Elasticsearch

185

'org.elasticsearch.client:elasticsearch-rest-client' // 8.18.1

186

'co.elastic.clients:elasticsearch-java' // 8.18.1

187

```

188

189

### Cache Providers

190

191

Caching implementations with JCache (JSR-107) support.

192

193

```gradle { .api }

194

// JCache API (JSR-107)

195

'javax.cache:cache-api' // 1.1.1

196

197

// Caffeine (high-performance cache)

198

'com.github.ben-manes.caffeine:caffeine' // 3.2.1

199

'com.github.ben-manes.caffeine:jcache' // 3.2.1

200

201

// Ehcache

202

'org.ehcache:ehcache' // 3.10.8

203

'org.ehcache:ehcache-clustered' // 3.10.8

204

205

// cache2k

206

'org.cache2k:cache2k-core' // 2.6.1.Final

207

'org.cache2k:cache2k-jcache' // 2.6.1.Final

208

209

// Hazelcast

210

'com.hazelcast:hazelcast' // 5.5.0

211

'com.hazelcast:hazelcast-spring' // 5.5.0

212

213

// Infinispan

214

'org.infinispan:infinispan-core' // 15.2.4.Final

215

'org.infinispan:infinispan-spring6-embedded' // 15.2.4.Final

216

```

217

218

## Usage Examples

219

220

### Basic JPA Setup

221

222

```gradle

223

dependencies {

224

implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')

225

226

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

227

runtimeOnly 'org.postgresql:postgresql'

228

229

testImplementation 'org.springframework.boot:spring-boot-starter-test'

230

testImplementation 'com.h2database:h2'

231

}

232

```

233

234

### Reactive Data Access

235

236

```gradle

237

dependencies {

238

implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')

239

240

implementation 'org.springframework.boot:spring-boot-starter-data-r2dbc'

241

runtimeOnly 'org.postgresql:r2dbc-postgresql'

242

runtimeOnly 'io.r2dbc:r2dbc-pool'

243

244

testImplementation 'org.springframework.boot:spring-boot-starter-test'

245

testImplementation 'io.r2dbc:r2dbc-h2'

246

}

247

```

248

249

### NoSQL with Caching

250

251

```gradle

252

dependencies {

253

implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')

254

255

implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'

256

implementation 'org.springframework.boot:spring-boot-starter-data-redis'

257

implementation 'org.springframework.boot:spring-boot-starter-cache'

258

implementation 'com.github.ben-manes.caffeine:caffeine'

259

260

testImplementation 'org.springframework.boot:spring-boot-starter-test'

261

}

262

```

263

264

### Multi-Database Setup

265

266

```gradle

267

dependencies {

268

implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')

269

270

// Primary database (JPA)

271

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

272

runtimeOnly 'org.postgresql:postgresql'

273

274

// Secondary database (MongoDB)

275

implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'

276

277

// Caching layer (Redis)

278

implementation 'org.springframework.boot:spring-boot-starter-data-redis'

279

280

// Database migrations

281

implementation 'org.flywaydb:flyway-core'

282

implementation 'org.flywaydb:flyway-database-postgresql'

283

284

testImplementation 'org.springframework.boot:spring-boot-starter-test'

285

testImplementation 'org.testcontainers:postgresql'

286

testImplementation 'org.testcontainers:mongodb'

287

}

288

```

289

290

### Type-Safe Query Building

291

292

```gradle

293

dependencies {

294

implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')

295

296

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

297

implementation 'org.jooq:jooq'

298

implementation 'com.querydsl:querydsl-jpa'

299

300

runtimeOnly 'org.postgresql:postgresql'

301

302

testImplementation 'org.springframework.boot:spring-boot-starter-test'

303

}

304

```