Class PostgresPlugin

java.lang.Object
org.jdbi.v3.core.spi.JdbiPlugin.Singleton
org.jdbi.v3.postgres.PostgresPlugin
All Implemented Interfaces:
org.jdbi.v3.core.spi.JdbiPlugin

public class PostgresPlugin extends org.jdbi.v3.core.spi.JdbiPlugin.Singleton
Postgres plugin. Adds support for binding and mapping the following data types:

Also sets up SQL array support for the following types:

A note about the mapping between the Postgres interval type and the Java Period and Duration types: The Java library authors are much more strict about the temporal amounts representable by Periods and Durations than Postgres is with its interval type. The argument factories and column mapper factories implemented in this package respect this spirit of unambiguous strictness. Consequently:

  • All Periods can be mapped to intervals.
  • Not all Durations can be mapped to intervals.
  • Not all intervals can be mapped to Periods.
  • Not all intervals can be mapped to Durations.
For more specific detail, see the caveats in the documentation for DurationArgumentFactory, PeriodColumnMapperFactory, and DurationColumnMapperFactory.

In addition, some potentially unexpected implicit conversions can occur by virtue of the Postgres server logic. For example, at the time of writing, storing a Period of -3 years, 2 months, and -1 days results in an interval (and consequently, a column-mapped Period) of -2 years, -10 months, and -1 days.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.jdbi.v3.core.spi.JdbiPlugin

    org.jdbi.v3.core.spi.JdbiPlugin.Singleton
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.jdbi.v3.core.Handle
    customizeHandle(org.jdbi.v3.core.Handle handle)
     
    void
    customizeJdbi(org.jdbi.v3.core.Jdbi jdbi)
     
    Do not install the legacy (unqualified) bindings for HStoreArgumentFactory and HStoreColumnMapper.

    Methods inherited from class org.jdbi.v3.core.spi.JdbiPlugin.Singleton

    equals, hashCode

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.jdbi.v3.core.spi.JdbiPlugin

    customizeConnection
  • Constructor Details

    • PostgresPlugin

      public PostgresPlugin()
  • Method Details

    • noUnqualifiedHstoreBindings

      public static PostgresPlugin noUnqualifiedHstoreBindings()
      Do not install the legacy (unqualified) bindings for HStoreArgumentFactory and HStoreColumnMapper. When using the plugin returned by this factory method, any lookup for HStore specific arguments and column mappers must be qualified with the HStore annotation.
    • customizeJdbi

      public void customizeJdbi(org.jdbi.v3.core.Jdbi jdbi)
    • customizeHandle

      public org.jdbi.v3.core.Handle customizeHandle(org.jdbi.v3.core.Handle handle)