Class EncryptedPasswordDriverManagerConnectionProvider

Object
org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl
org.jasypt.hibernate6.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider
All Implemented Interfaces:
Serializable, org.hibernate.engine.jdbc.connections.internal.ConnectionValidator, org.hibernate.engine.jdbc.connections.spi.ConnectionProvider, org.hibernate.service.Service, org.hibernate.service.spi.Configurable, org.hibernate.service.spi.ServiceRegistryAwareService, org.hibernate.service.spi.Stoppable, org.hibernate.service.spi.Wrapped

public final class EncryptedPasswordDriverManagerConnectionProvider extends org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl

Extension of DriverManagerConnectionProviderImpl that allows the user to write the datasource configuration parameters in an encrypted manner in the hibernate.cfg.xml or hibernate.properties file

The encryptable parameters are:

  • connection.driver_class
  • connection.url
  • connection.username
  • connection.password

The name of the password encryptor (decryptor, in fact) will be set in property hibernate.connection.encryptor_registered_name. Its value must be the name of a PBEStringEncryptor object previously registered within HibernatePBEEncryptorRegistry.

An example hibernate.cfg.xml file:

  <hibernate-configuration>

    <session-factory>

      <!-- Database connection settings -->
      <property name="connection.provider_class">org.jasypt.hibernate.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider</property>
      <property name="connection.encryptor_registered_name">stringEncryptor</property>
      <property name="connection.driver_class">org.postgresql.Driver</property>
      <property name="connection.url">jdbc:postgresql://localhost/mydatabase</property>
      <property name="connection.username">myuser</property>
      <property name="connection.password">ENC(T6DAe34NasW==)</property>
      <property name="connection.pool_size">5</property>
      
      ...
      
    </session-factory>
    
    ...
    
  </hibernate-configuration>
 

Since:
1.9.0
Author:
Chus Picos
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl

    org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.PooledConnections
  • Field Summary

    Fields inherited from class org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl

    CONNECTION_CREATOR_FACTORY, INIT_SQL, INITIAL_SIZE, MIN_SIZE, VALIDATION_INTERVAL

    Fields inherited from interface org.hibernate.engine.jdbc.connections.internal.ConnectionValidator

    ALWAYS_VALID
  • Constructor Summary

    Constructors
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     

    Methods inherited from class org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl

    closeConnection, finalize, getConnection, getConnectionProperties, getOpenConnections, injectServices, isUnwrappableAs, isValid, releasePooledConnections, stop, supportsAggressiveRelease, unwrap, validateConnectionsReturned

    Methods inherited from class java.lang.Object

    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • EncryptedPasswordDriverManagerConnectionProvider

      public EncryptedPasswordDriverManagerConnectionProvider()
  • Method Details

    • configure

      public void configure(Map<String,Object> props)
      Specified by:
      configure in interface org.hibernate.service.spi.Configurable
      Overrides:
      configure in class org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl