# The JDBC Connection and Transaction Model

Session and transaction capabilities for SQL are handled through JDBC procedures, not by SQL commands.

JDBC defines a system session and transaction model for database access. A session is the duration of one connection to the database and is handled by a JDBC `Connection` object.

- Connections
  A Connection object represents a connection with a database.
- Transactions
  A transaction is a set of one or more SQL statements that make up a logical unit of work that you can either commit or roll back and that will be recovered in the event of a system failure.

Parent topic: Controlling Derby application behavior
Related concepts
Result set and cursor mechanisms
Locking, concurrency, and isolation
Working with multiple connections to a single database
Working with multiple threads sharing a single connection
Working with database threads in an embedded environment
Working with Derby SQLExceptions in an application