Konfiguracja Hibernate

Konfigurację Hibernate dla danego konektora można umieszczać w:

  1. zewnętrznym pliku konfiguracyjnym (patrz parametr configFile),
  2. w treści obiektu jPALIO (patrz parametr configObject),
  3. bezpośrednio w konfiguracji konektora (patrz parametry hibernate.*).


Specyfikację parametrów konfiguracyjnych Hibernate można znaleźć pod adresem: http://docs.jboss.org/hibernate/stable/core/reference/en/html/session-configuration.html

Uwaga! Jeżeli serwer jPALIO, na którym wykorzystywany jest konektor hibernate, nie ma dostępu do pliku podanego w tagu <!DOCTYPE ...> (w poniższym przykładzie jest to "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"), gdyż np. pracuje w zamkniętej sieci, to należy zakomentować cały znacznik lub podać alternatywny adres dostępu do pliku, gdyż nieudana próba pobrania pliku spowoduje błąd parsowania konfiguracji konektora hibernate, a tym samym niemożność korzystania z takiego konektora.

Przykładowa konfiguracja:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
  <!-- Database connection settings -->
  <!-- These parameters are specified in connector configuration
  <property name="connection.driver_class">org.postgresql.Driver</property>
  <property name="connection.url">jdbc:postgresql://localhost:5432/workshop</property>
  <property name="connection.username">devel</property>
  <property name="connection.password">devel</property>
  <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> 
  -->
 
  <!-- Use the C3P0 connection pool. -->
  <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
  <property name="hibernate.c3p0.min_size">3</property>
  <property name="hibernate.c3p0.max_size">10</property>
  <property name="hibernate.c3p0.timeout">1800</property>
 
  <!-- Disable second-level cache. -->
  <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
  <property name="cache.use_query_cache">false</property>
  <property name="cache.use_minimal_puts">false</property>
  <property name="max_fetch_depth">3</property>
 
  <!-- JDBC connection pool (use the built-in) -->
  <!-- <property name="connection.pool_size">1</property> -->
 
  <!-- Enable Hibernate automatic session context management -->
  <!-- Bind the getCurrentSession() method to the thread. -->
  <property name="current_session_context_class">thread</property>
 
  <property name="hibernate.show_sql">true</property>
  <property name="hibernate.format_sql">true</property>
  <!-- <property name="hibernate.hbm2ddl.auto">update</property>  -->
</session-factory>
</hibernate-configuration>