yb YugabyteDB Docs
  • Join us onYugabyteDB Community Slack
  • Star us on
  • Get Started
  • Documentation
    • Docs Home
    • Quick Start
    • Explore
    • Develop
    • Migrate
    • Secure
    • Launch and Manage
    • Benchmark
    • Integrations
    • Reference
    • Contribute
    • View all products
      • YugabyteDB Anywhere
      • YugabyteDB Managed
  • FAQ
  • Release Notes
Docs Menu
  • Docs Home
  • Quick Start
  • Explore
    • SQL features
      • SQL Feature Support
      • PostgreSQL Compatibility
      • Foreign Data Wrappers
      • Schemas and Tables
      • Data Types
      • Data Manipulation
      • Queries and Joins
      • Expressions and Operators
      • Stored Procedures
      • Triggers
      • Advanced features
        • Cursors
        • Table Partitioning
        • Views
        • Savepoints
        • Collations
      • Going beyond SQL
        • Follower reads
        • Tablespaces
      • PostgreSQL extensions
    • Fault tolerance
    • Horizontal scalability
      • Scaling Transactions
      • Sharding Data
    • Transactions
      • Distributed Transactions
      • Isolation Levels
      • Explicit Locking
    • Indexes and Constraints
      • Primary keys
      • Foreign keys
      • Secondary indexes
      • Unique indexes
      • Partial indexes
      • Expression indexes
      • Covering indexes
      • GIN indexes
      • Other constraints
    • JSON support
    • Multi-region deployments
      • Sync replication (3+ regions)
      • Async Replication (2+ regions)
      • Row-Level Geo-Partitioning
      • Read replicas
    • Query tuning
      • Introduction
      • Get query statistics using pg_stat_statements
      • Viewing live queries with pg_stat_activity
      • Analyzing queries with EXPLAIN
      • Optimizing YSQL queries using pg_hint_plan
    • Cluster management
      • Point-in-time recovery
    • Change data capture (CDC)
      • CDCSDK Server
      • Debezium connector
      • Java CDC console
    • Security
    • Observability
      • Prometheus Integration
      • Grafana Dashboard
  • Develop
    • Learn app development
      • 1. SQL vs NoSQL
      • 2. Data modeling
      • 3. Data types
      • 4. ACID transactions
      • 5. Aggregations
      • 6. Batch operations
      • 7. Date and time
      • 8. Strings and text
      • 9. TTL for data expiration
    • Drivers and ORMs
      • Java
        • Connect an app
        • Use an ORM
      • Go
        • Connect an app
        • Use an ORM
      • C#
        • Connect an app
        • Use an ORM
      • Node.js
        • Connect an app
        • Use an ORM
      • Python
        • Python drivers
        • Python ORMs
        • Supported versions
      • Rust
        • Diesel ORM
    • Real-world examples
      • E-Commerce app
      • IoT fleet management
    • Explore sample apps
    • Best practices
    • Quality of Service
      • Rate limiting connections
      • Write-heavy workloads
      • Transaction priorities
    • Cloud-native development
      • Codespaces
      • Gitpod
  • Migrate
    • YugabyteDB Voyager
      • Install
      • Migration steps
      • Performance
      • yb-voyager CLI
    • Manual import
      • Convert a PostgreSQL schema
      • Migrate a PostgreSQL application
      • Export PostgreSQL data
      • Prepare a cluster
      • Import PostgreSQL data
      • Verify migration
  • Secure
    • Security checklist
    • Enable authentication
      • Enable users
      • Configure client authentication
    • Authentication methods
      • Password authentication
      • LDAP authentication
      • Host-based authentication
      • Trust authentication
    • Role-based access control
      • Overview
      • Manage users and roles
      • Grant privileges
      • Row-level security
      • Column-level security
    • Encryption in transit
      • Create server certificates
      • Enable server-to-server encryption
      • Enable client-to-server encryption
      • Connect to clusters
      • TLS and authentication
    • Encryption at rest
    • Column-level encryption
    • Audit logging
      • Configure audit logging
      • Session-Level Audit Logging
      • Object-Level Audit Logging
    • Vulnerability disclosure policy
  • Launch and Manage
    • Manage
      • Backup and restore
        • Export and import
        • Distributed snapshots
        • Point-in-time recovery
      • Migrate data
        • Bulk import
        • Bulk export
      • Change cluster configuration
      • Diagnostics reporting
      • Upgrade a deployment
      • Grow cluster
    • Deploy
      • Deployment checklist
      • Manual deployment
        • 1. System configuration
        • 2. Install software
        • 3. Start YB-Masters
        • 4. Start YB-TServers
        • 5. Verify deployment
      • Kubernetes
        • Single-zone
          • Open Source
          • Amazon EKS
          • Google Kubernetes Engine
          • Azure Kubernetes Service
        • Multi-zone
          • Amazon EKS
          • Google Kubernetes Engine
        • Multi-cluster
          • Google Kubernetes Engine
        • Best practices
        • Connect Clients
      • Docker
      • Public clouds
        • Amazon Web Services
        • Google Cloud Platform
        • Microsoft Azure
      • Multi-DC deployments
        • Three+ data center (3DC)
        • Asynchronous replication
        • Read replica clusters
    • Troubleshoot
      • Troubleshooting
      • Cluster level issues
        • YCQL connection issues
        • YEDIS connection Issues
        • Recover tserver/master
        • Replace a failed YB-TServer
        • Replace a failed YB-Master
        • Manual remote bootstrap when a majority of peers fail
        • Recover YB-TServer from crash loop
      • Node level issues
        • Check servers
        • Inspect logs
        • System statistics
        • Disk failure
        • Common error messages
  • Benchmark
    • TPC-C
    • sysbench
    • YCSB
    • Key-value workload
    • Large datasets
    • Scalability
      • Scaling queries
    • Resilience
      • Jepsen testing
    • Performance Troubleshooting
  • Integrations
    • Apache Kafka
    • Apache Spark
    • Camunda
    • Debezium
    • Django REST framework
    • Entity Framework
    • Flyway
    • GORM
    • Hasura
      • Application Development
      • Benchmarking
    • JanusGraph
    • KairosDB
    • Liquibase
    • Metabase
    • Presto
    • Prisma
    • Sequelize
    • Spring Framework
      • Spring Data YugabyteDB
      • Spring Data JPA
      • Spring Data Cassandra
    • SQLAlchemy
    • WSO2 Identity Server
    • YSQL Loader
    • YugabyteDB JDBC driver
  • Reference
    • Architecture
      • Design goals
      • Key concepts
        • Universe
        • YB-TServer Service
        • YB-Master Service
      • Core functions
        • Universe creation
        • Table creation
        • Write IO path
        • Read IO path
        • High availability
      • Layered architecture
      • Query layer
        • Overview
      • DocDB transactions layer
        • Transactions overview
        • Transaction isolation levels
        • Explicit locking
        • Read Committed
        • Single-row transactions
        • Distributed transactions
        • Transactional IO path
      • DocDB sharding layer
        • Hash & range sharding
        • Tablet splitting
        • Colocated tables
      • DocDB replication layer
        • Replication
        • xCluster replication
        • Read replicas
        • Change data capture (CDC)
      • DocDB storage layer
        • Persistence
        • Performance
    • APIs
      • YSQL
        • The SQL language
          • SQL statements
            • ABORT
            • ALTER DATABASE
            • ALTER DEFAULT PRIVILEGES
            • ALTER DOMAIN
            • ALTER FOREIGN DATA WRAPPER
            • ALTER FOREIGN TABLE
            • ALTER GROUP
            • ALTER POLICY
            • ALTER ROLE
            • ALTER SEQUENCE
            • ALTER SERVER
            • ALTER TABLE
            • ALTER USER
            • ANALYZE
            • BEGIN
            • CALL
            • COMMENT
            • COMMIT
            • COPY
            • CREATE AGGREGATE
            • CREATE CAST
            • CREATE DATABASE
            • CREATE DOMAIN
            • CREATE EXTENSION
            • CREATE FOREIGN DATA WRAPPER
            • CREATE FOREIGN TABLE
            • CREATE FUNCTION
            • CREATE GROUP
            • CREATE INDEX
            • CREATE MATERIALIZED VIEW
            • CREATE OPERATOR
            • CREATE OPERATOR CLASS
            • CREATE POLICY
            • CREATE PROCEDURE
            • CREATE ROLE
            • CREATE RULE
            • CREATE SCHEMA
            • CREATE SEQUENCE
            • CREATE SERVER
            • CREATE TABLE
            • CREATE TABLE AS
            • CREATE TRIGGER
            • CREATE TYPE
            • CREATE USER
            • CREATE USER MAPPING
            • CREATE VIEW
            • DEALLOCATE
            • DELETE
            • DO
            • DROP AGGREGATE
            • DROP CAST
            • DROP DATABASE
            • DROP DOMAIN
            • DROP EXTENSION
            • DROP FOREIGN DATA WRAPPER
            • DROP FOREIGN TABLE
            • DROP FUNCTION
            • DROP GROUP
            • DROP MATERIALIZED VIEW
            • DROP OPERATOR
            • DROP OPERATOR CLASS
            • DROP OWNED
            • DROP POLICY
            • DROP PROCEDURE
            • DROP ROLE
            • DROP RULE
            • DROP SEQUENCE
            • DROP SERVER
            • DROP TABLE
            • DROP TRIGGER
            • DROP TYPE
            • DROP USER
            • END
            • EXECUTE
            • EXPLAIN
            • GRANT
            • IMPORT FOREIGN SCHEMA
            • INSERT
            • LOCK
            • PREPARE
            • REASSIGN OWNED
            • REFRESH MATERIALIZED VIEW
            • RELEASE SAVEPOINT
            • RESET
            • REVOKE
            • ROLLBACK
            • ROLLBACK TO SAVEPOINT
            • SAVEPOINT
            • SELECT
            • SET
            • SET CONSTRAINTS
            • SET ROLE
            • SET SESSION AUTHORIZATION
            • SET TRANSACTION
            • SHOW
            • SHOW TRANSACTION
            • TRUNCATE
            • UPDATE
            • VALUES
          • WITH clause
            • WITH clause—SQL syntax and semantics
            • Recursive CTE
            • Case study: traversing an employee hierarchy
            • Traversing general graphs
              • Graph representation
              • Common code
              • Undirected cyclic graph
              • Directed cyclic graph
              • Directed acyclic graph
              • Rooted tree
              • Unique containing paths
              • Stress testing find_paths()
            • Case study: Bacon Numbers from IMDb
              • Bacon numbers for synthetic data
              • Bacon numbers for IMDb data
        • Data types
          • Array
            • array[] constructor
            • Literals
              • Text typecasting and literals
              • Array of primitive values
              • Row
              • Array of rows
            • FOREACH loop (PL/pgSQL)
            • array of DOMAINs
            • Functions and operators
              • ANY and ALL
              • Array comparison
              • Array slice operator
              • Array concatenation
              • Array properties
              • array_agg(), unnest(), generate_subscripts()
              • array_fill()
              • array_position(), array_positions()
              • array_remove()
              • array_replace() / set value
              • array_to_string()
              • string_to_array()
          • Binary
          • Boolean
          • Character
          • Date and time
            • Conceptual background
            • Section contents
            • Timezones and UTC offsets
              • Catalog views
              • Extended_timezone_names
                • Unrestricted full projection
                • Real timezones with DST
                • Real timezones no DST
                • Synthetic timezones no DST
              • Offset/timezone-sensitive operations
                • Timestamptz to/from timestamp conversion
                • Pure 'day' interval arithmetic
              • Four ways to specify offset
                • Name-resolution rules
                  • 1 case-insensitive resolution
                  • 2 ~names.abbrev never searched
                  • 3 'set timezone' string not resolved in ~abbrevs.abbrev
                  • 4 ~abbrevs.abbrev before ~names.name
                  • Helper functions
              • Syntax contexts for offset
              • Recommended practice
            • Typecasting between date-time and text-values
            • Semantics of the date-time data types
              • Date data type
              • Time data type
              • Plain timestamp and timestamptz
              • Interval data type
                • Interval representation
                  • Ad hoc examples
                  • Representation model
                • Interval value limits
                • Declaring intervals
                • Justify() and extract(epoch...)
                • Interval arithmetic
                  • Interval-interval comparison
                  • Interval-interval addition and subtraction
                  • Interval-number multiplication
                  • Moment-moment overloads of "-"
                  • Moment-interval overloads of "+" and "-"
                • Custom interval domains
                • Interval utility functions
            • Typecasting between date-time datatypes
            • Operators
              • Test comparison overloads
              • Test addition overloads
              • Test subtraction overloads
              • Test multiplication overloads
              • Test division overloads
            • General-purpose functions
              • Creating date-time values
              • Manipulating date-time values
              • Current date-time moment
              • Delaying execution
              • Miscellaneous
                • Function age()
                • Function extract() | date_part()
                • Implementations that model the overlaps operator
            • Formatting functions
            • Case study: SQL stopwatch
            • Download & install the date-time utilities
          • JSON
            • JSON literals
            • Primitive and compound data types
            • Code example conventions
            • Indexes and check constraints
            • Functions & operators
              • ::jsonb, ::json, ::text (typecast)
              • ->, ->>, #>, #>> (JSON subvalues)
              • - and #- (remove)
              • || (concatenation)
              • = (equality)
              • @> and <@ (containment)
              • ? and ?| and ?& (key or value existence)
              • array_to_json()
              • jsonb_agg()
              • jsonb_array_elements()
              • jsonb_array_elements_text()
              • jsonb_array_length()
              • jsonb_build_object()
              • jsonb_build_array()
              • jsonb_each()
              • jsonb_each_text()
              • jsonb_extract_path()
              • jsonb_extract_path_text() and json_extract_path_text()
              • jsonb_object()
              • jsonb_object_agg()
              • jsonb_object_keys()
              • jsonb_populate_record()
              • jsonb_populate_recordset()
              • jsonb_pretty()
              • jsonb_set() and jsonb_insert()
              • jsonb_strip_nulls()
              • jsonb_to_record()
              • jsonb_to_recordset()
              • jsonb_typeof()
              • row_to_json()
              • to_jsonb()
          • Money
          • Numeric
          • Range
          • Serial
          • UUID
        • Functions and operators
          • Aggregate functions
            • Informal functionality overview
            • Invocation syntax and semantics
            • Grouping sets, rollup, cube
            • Per function signature and purpose
              • avg(), count(), max(), min(), sum()
              • array_agg(), string_agg(), jsonb_agg(), jsonb_object_agg()
              • bit_and(), bit_or(), bool_and(), bool_or()
              • variance(), var_pop(), var_samp(), stddev(), stddev_pop(), stddev_samp()
              • linear regression
                • covar_pop(), covar_samp(), corr()
                • regr_%()
              • mode(), percentile_disc(), percentile_cont()
              • rank(), dense_rank(), percent_rank(), cume_dist()
            • Case study: percentile_cont() and the "68–95–99.7" rule
            • Case study: linear regression on COVID data
              • Download the COVIDcast data
              • Ingest the COVIDcast data
                • Inspect the COVIDcast data
                • Copy the .csv files to staging tables
                • Check staged data conforms to the rules
                • Join the staged data into a single table
                • SQL scripts
                  • Create cr_staging_tables()
                  • Create cr_copy_from_scripts()
                  • Create assert_assumptions_ok()
                  • Create xform_to_covidcast_fb_survey_results()
                  • ingest-the-data.sql
              • Analyze the COVIDcast data
                • symptoms vs mask-wearing by day
                • Data for scatter-plot for 21-Oct-2020
                • Scatter-plot for 21-Oct-2020
                • SQL scripts
                  • analysis-queries.sql
                  • synthetic-data.sql
          • currval()
          • lastval()
          • nextval()
          • setval()
          • Window functions
            • Informal functionality overview
            • Invocation syntax and semantics
            • Per function signature and purpose
              • row_number(), rank() and dense_rank()
              • percent_rank(), cume_dist() and ntile()
              • first_value(), nth_value(), last_value()
              • lag(), lead()
              • Tables for the code examples
                • table t1
                • table t2
                • table t3
                • table t4
            • Case study: analyzing a normal distribution
              • Bucket allocation scheme
              • do_clean_start.sql
              • cr_show_t4.sql
              • cr_dp_views.sql
              • cr_int_views.sql
              • cr_pr_cd_equality_report.sql
              • cr_bucket_using_width_bucket.sql
              • cr_bucket_dedicated_code.sql
              • do_assert_bucket_ok
              • cr_histogram.sql
              • cr_do_ntile.sql
              • cr_do_percent_rank.sql
              • cr_do_cume_dist.sql
              • do_populate_results.sql
              • do_report_results.sql
              • do_compare_dp_results.sql
              • do_demo.sql
              • Reports
                • Histogram report
                • dp-results
                • compare-dp-results
                • int-results
          • yb_hash_code()
        • Keywords
        • Reserved names
      • YCQL
        • ALTER KEYSPACE
        • ALTER ROLE
        • ALTER TABLE
        • CREATE INDEX
        • CREATE KEYSPACE
        • CREATE ROLE
        • CREATE TABLE
        • CREATE TYPE
        • DROP INDEX
        • DROP KEYSPACE
        • DROP ROLE
        • DROP TABLE
        • DROP TYPE
        • GRANT PERMISSION
        • GRANT ROLE
        • REVOKE PERMISSION
        • REVOKE ROLE
        • USE
        • INSERT
        • SELECT
        • EXPLAIN
        • UPDATE
        • DELETE
        • TRANSACTION
        • TRUNCATE
        • Simple expressions
        • Subscripted expressions
        • Function call
        • Operators
        • BLOB
        • BOOLEAN
        • Collection
        • FROZEN
        • INET
        • Integer and counter
        • Non-integer
        • TEXT
        • DATE, TIME, and TIMESTAMP
        • UUID and TIMEUUID
        • JSONB
        • Date and time
        • BATCH
    • CLIs
      • yb-ctl
      • yb-docker-ctl
      • ysqlsh
      • ycqlsh
      • yb-admin
      • yb-ts-cli
      • ysql_dump
      • ysql_dumpall
    • Configuration
      • yb-tserver
      • yb-master
      • yugabyted
      • Default ports
    • Drivers and ORMs
      • JDBC Drivers
      • C# Drivers
      • Go Drivers
      • Node.js Drivers
      • Python Drivers
      • Client drivers for YSQL
      • Client drivers for YCQL
    • Connectors
      • Kafka Connect YugabyteDB
    • Third party tools
      • pgAdmin
      • Apache Superset
      • Arctype
      • DBeaver
      • TablePlus
      • DbSchema
      • SQL Workbench/J
      • Cassandra Workbench
    • Sample datasets
      • Chinook
      • Northwind
      • PgExercises
      • SportsDB
      • Retail Analytics
    • Misc
      • YEDIS
        • Quick start
        • Develop
          • Build an application
          • C#
          • C++
          • Go
          • Java
          • NodeJS
          • Python
        • API reference
          • APPEND
          • AUTH
          • CONFIG
          • CREATEDB
          • DELETEDB
          • LISTDB
          • SELECT
          • DEL
          • ECHO
          • EXISTS
          • EXPIRE
          • EXPIREAT
          • FLUSHALL
          • FLUSHDB
          • GET
          • GETRANGE
          • GETSET
          • HDEL
          • HEXISTS
          • HGET
          • HGETALL
          • HINCRBY
          • HKEYS
          • HLEN
          • HMGET
          • HMSET
          • HSET
          • HSTRLEN
          • HVALS
          • INCR
          • INCRBY
          • KEYS
          • MONITOR
          • PEXPIRE
          • PEXPIREAT
          • PTTL
          • ROLE
          • SADD
          • SCARD
          • RENAME
          • SET
          • SETEX
          • PSETEX
          • SETRANGE
          • SISMEMBER
          • SMEMBERS
          • SREM
          • STRLEN
          • ZRANGE
          • TSADD
          • TSCARD
          • TSGET
          • TSLASTN
          • TSRANGEBYTIME
          • TSREM
          • TSREVRANGEBYTIME
          • TTL
          • ZADD
          • ZCARD
          • ZRANGEBYSCORE
          • ZREM
          • ZREVRANGE
          • ZSCORE
          • PUBSUB
          • PUBLISH
          • SUBSCRIBE
          • UNSUBSCRIBE
          • PSUBSCRIBE
          • PUNSUBSCRIBE
      • Legal
        • Third-party software
  • Contribute
    • Core database
      • Contribution checklist
      • Build the source
      • Configure a CLion project
      • Run the tests
      • Coding style
    • Documentation
      • Docs checklist
      • Docs layout
      • Build the docs
        • Editor setup
      • Edit the docs
        • Docs page structure
        • Widgets and shortcodes
        • Syntax diagrams
      • Style guide
  • View all products
    • YugabyteDB Anywhere
    • YugabyteDB Managed
  • Join our community
    • Slack
    • GitHub
    • University
    • Yugabyte Friday Tech Talks
    • Forum
  • Contact Support
.
  1. YugabyteDB documentation
  2. Spring Framework
Spring Framework

Spring Framework

Using Spring Framework with YugabyteDB
  • Releases
    v2.15 (Preview) v2.12 (Stable) v2.8 v2.6 v2.4 Unsupported versions
Spring Data YugabyteDB
Use Spring Data YugabyteDB with YSQL APIs to build cloud-native applications.
Spring Data JPA
Use Spring Data JPA with YSQL APIs to build cloud-native applications.
Spring Data Cassandra and YCQL
Use YCQL integrated with the Spring Data Cassandra project.
Yugabyte logo
© 2022 Yugabyte, Inc. All Rights Reserved Privacy Policy Terms of Service