Class PostgresPlugin
- All Implemented Interfaces:
JdbiPlugin
InetAddress(includingInet4AddressandInet6Address)LocalDateLocalTimeLocalDateTimeOffsetDateTimeDuration(see notes below)Period(see notes below)Map<String, String>(forHSTOREcolumns)UUIDInputStreamandReaderfromoidlarge object columns
The following qualified types have Beta support for binding and mapping:
@MacAddr java.lang.String(for MACADDR columns)@HStore Map<String, String>(for HSTORE columns)
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 tointervals. - Not all
Durations can be mapped tointervals. - Not all
intervals can be mapped toPeriods. - Not all
intervals can be mapped toDurations.
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
JdbiPlugin.Singleton -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncustomizeHandle(Handle handle) Configure customizations for a new Handle instance.voidcustomizeJdbi(Jdbi jdbi) Configure customizations global to any object managed by this Jdbi.static PostgresPluginDo not install the legacy (unqualified) bindings forHStoreArgumentFactoryandHStoreColumnMapper.Methods inherited from class org.jdbi.v3.core.spi.JdbiPlugin.Singleton
equals, hashCodeMethods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jdbi.v3.core.spi.JdbiPlugin
customizeConnection
-
Constructor Details
-
PostgresPlugin
public PostgresPlugin()
-
-
Method Details
-
noUnqualifiedHstoreBindings
Do not install the legacy (unqualified) bindings forHStoreArgumentFactoryandHStoreColumnMapper. When using the plugin returned by this factory method, any lookup for HStore specific arguments and column mappers must be qualified with theHStoreannotation. -
customizeJdbi
Description copied from interface:JdbiPluginConfigure customizations global to any object managed by this Jdbi. This method is invoked immediately when the plugin is installed.- Parameters:
jdbi- the jdbi to customize
-
customizeHandle
Description copied from interface:JdbiPluginConfigure customizations for a new Handle instance.- Parameters:
handle- the handle just created- Returns:
- the transformed handle
-