Class PostgresPlugin
- All Implemented Interfaces:
JdbiPlugin
InetAddress
(includingInet4Address
andInet6Address
)LocalDate
LocalTime
LocalDateTime
OffsetDateTime
Duration
(see notes below)Period
(see notes below)Map<String, String>
(forHSTORE
columns)UUID
InputStream
andReader
fromoid
large 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
Period
s can be mapped tointerval
s. - Not all
Duration
s can be mapped tointerval
s. - Not all
interval
s can be mapped toPeriod
s. - Not all
interval
s can be mapped toDuration
s.
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
-
Method Summary
Modifier and TypeMethodDescriptioncustomizeHandle
(Handle handle) Configure customizations for a new Handle instance.void
customizeJdbi
(Jdbi jdbi) Configure customizations global to any object managed by this Jdbi.static PostgresPlugin
Do not install the legacy (unqualified) bindings forHStoreArgumentFactory
andHStoreColumnMapper
.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
Do not install the legacy (unqualified) bindings forHStoreArgumentFactory
andHStoreColumnMapper
. When using the plugin returned by this factory method, any lookup for HStore specific arguments and column mappers must be qualified with theHStore
annotation. -
customizeJdbi
Description copied from interface:JdbiPlugin
Configure 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:JdbiPlugin
Configure customizations for a new Handle instance.- Parameters:
handle
- the handle just created- Returns:
- the transformed handle
-