Core concepts

There are a couple of core concepts that the API is built upon:

  • Asynchronous processing

    Every operation that involves I/O with the database is asynchronous. Methods return Future or Reactive Stream's Publisher instances.

  • Thread safety

    rdbc API requires that its implementations must be thread-safe. You are free to share class instances among threads, even those that are mutable.

  • Null safety

    SQL NULL values are represented as Option instances. Scala null doesn't have to be used when working with the API.