File: /var/www/html/unitime/JavaSource/hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd" >
<!--
* Licensed to The Apereo Foundation under one or more contributor license
* agreements. See the NOTICE file distributed with this work for
* additional information regarding copyright ownership.
*
* The Apereo Foundation licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*
-->
<hibernate-configuration>
<session-factory> <!-- name="unitime:hibernate/SessionFactory" -->
<!-- MySQL Configuration -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/timetable?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true</property>
<property name="connection.username">timetable</property>
<property name="connection.password">unitime</property>
<property name="connection.autocommit">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="tmtbl.uniqueid.generator">org.hibernate.id.enhanced.TableGenerator</property>
<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.characterEncoding">utf8</property>
<!-- End of MySQL Configuration -->
<!-- Oracle Configuration -->
<!--
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
<property name="connection.username">timetable</property>
<property name="connection.password">unitime</property>
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
<property name="tmtbl.uniqueid.generator">org.hibernate.id.SequenceGenerator</property>
-->
<!-- End of Oracle Configuration -->
<!-- Connect database using the C3P0 database connection pool -->
<!-- See https://www.mchange.com/projects/c3p0/#hibernate-specific -->
<property name="hibernate.connection.release_mode">auto</property><!-- Release mode database connection- auto the default value -->
<property name="hibernate.c3p0.max_size">100</property> <!-- Max connection pool size -->
<property name="hibernate.c3p0.min_size">10</property> <!-- Min connection pool size -->
<property name="hibernate.c3p0.timeout">0</property> <!-- Time in seconds before free a connection. 0 no expiration -->
<property name="hibernate.c3p0.idleConnectionTestPeriod">3000</property> <!-- idle time in seconds before testing if a connection is valid - Setting a fairly long idleConnectionTestPeriod, and not testing on checkout and check-in at all is an excellent, high-performance approach. -->
<property name="hibernate.c3p0.preferredTestQuery">SELECT 1;</property>
<property name="hibernate.c3p0.max_statements">0</property> <!-- The size of c3p0's global PreparedStatement cache. -->
<property name="hibernate.c3p0.timeout">1800</property> <!-- Seconds a Connection can remain pooled but unused before being discarded. Zero means idle connections never expire. -->
<property name="hibernate.c3p0.unreturnedConnectionTimeout">0</property>
<!-- automatically release a non-returned connection after 30 minutes
<property name="hibernate.c3p0.unreturnedConnectionTimeout">1800</property>
<property name="hibernate.c3p0.debugUnreturnedConnectionStackTraces">true</property>
-->
<!-- End of connect database using C3P0 DBCP -->
<!-- If true, class LobCleanUpInterceptor will print some audit information -->
<property name="tmtbl.hibernate.audit">false</property>
<property name="default_schema">timetable</property>
<!-- Generate comments inside the SQL, for easier debugging, defaults -->
<!--
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.highlight_sql">true</property>
-->
<property name="hibernate.use_sql_comments">true</property>
<!-- See https://docs.jboss.org/hibernate/orm/6.2/javadocs/org/hibernate/resource/jdbc/spi/PhysicalConnectionHandlingMode.html -->
<property name="hibernate.connection.handling_mode">DELAYED_ACQUISITION_AND_HOLD</property>
<property name="hibernate.max_fetch_depth">2</property>
<property name="hibernate.jdbc.fetch_size">1000</property>
<property name="hibernate.jdbc.batch_size">20</property>
<property name="hibernate.default_batch_fetch_size">100</property>
<property name="hibernate.current_session_context_class">managed</property>
<property name="hibernate.allow_update_outside_transaction">true</property>
<property name="hibernate.transform_hbm_xml.enabled">false</property>
<!-- Use Second Level Cache -->
<property name="hibernate.cache.use_second_level_cache">true</property>
<!-- Cache Provider - EhCache -->
<property name="hibernate.cache.region.factory_class">infinispan</property>
<property name="hibernate.cache.infinispan.cfg">infinispan-cluster.xml</property>
<property name="hibernate.cache.infinispan.jgroups_cfg">hibernate-jgroups-tcp.xml</property>
<!-- Enable the query cache, individual queries still have to be set cachable -->
<property name="hibernate.cache.use_query_cache">true</property>
<!-- Collect statistics useful for performance tuning -->
<property name="hibernate.generate_statistics">false</property>
<!-- Mapping files -->
<mapping package="org.unitime.timetable.model"/>
</session-factory>
</hibernate-configuration>