Class EncryptedPasswordC3P0ConnectionProvider

Object
org.hibernate.c3p0.internal.C3P0ConnectionProvider
org.jasypt.hibernate6.connectionprovider.EncryptedPasswordC3P0ConnectionProvider
All Implemented Interfaces:
Serializable, 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 EncryptedPasswordC3P0ConnectionProvider extends org.hibernate.c3p0.internal.C3P0ConnectionProvider

Extension of C3P0ConnectionProvider 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>

      
      <property name="connection.provider_class">org.jasypt.hibernate.connectionprovider.EncryptedPasswordC3P0ConnectionProvider</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="c3p0.min_size">5</property>
      <property name="c3p0.max_size">20</property>
      <property name="c3p0.timeout">1800</property>
      <property name="c3p0.max_statements">50</property>
      ...
      
    </session-factory>
    
    ...
    
  </hibernate-configuration>
 

Since:
1.9.0
Author:
Chus Picos
See Also:
  • Constructor Details

    • EncryptedPasswordC3P0ConnectionProvider

      public EncryptedPasswordC3P0ConnectionProvider()
  • 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.c3p0.internal.C3P0ConnectionProvider