hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Hibernate Settings --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://10.10.100.106:3306/nuspa?autoReconnect=true</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">xxxx</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.current_session_context_class">thread</property> <property name="hibernate.hbm2ddl.auto">validate</property> <property name="show_sql">true</property> <!-- C3P0 Pooling settings --> <property name="hibernate.c3p0.min_size">7</property> <property name="hibernate.c3p0.max_size">53</property> <property name="hibernate.c3p0.timeout">100</property> <property name="hibernate.c3p0.max_statements">50</property> <property name="hibernate.c3p0.idle_test_period">1000</property> <property name="hibernate.c3p0.validate">true</property> <!-- Mapping Entity classes --> <mapping class="com.tr.xxx.entity.Customer" /> <mapping class="com.xxx.entity.Club" /> <mapping class="com.tr.xxx.entity.TransactionHistory" /> </session-factory> </hibernate-configuration>
HibernateUtil.java
package com.xxx.util; import org.apache.log4j.Logger; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; public class HibernateUtil { private static SessionFactory sessionFactory; private final static Logger logger = Logger.getLogger(HibernateUtil.class); static { try { sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); } catch (Throwable ex) { logger.error("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } }
pom.xml
<properties> <hibernate-core.version>4.3.5.Final</hibernate-core.version> </properties> <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate-core.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-c3p0</artifactId> <version>${hibernate-core.version}</version> </dependency> </dependencies>
DAO.java
private final static Logger logger = Logger.getLogger(AppDAOImpl.class); final StringBuilder query = new StringBuilder(); @Override public List<Club> getAllClubs() { logger.info("fetching all clubs from database"); Session session = HibernateUtil.getSessionFactory().openSession(); Transaction transaction = session.beginTransaction(); List<Club> clubs = new ArrayList<>(); try { clubs = session.createQuery("from Club").list(); transaction.commit(); } catch (HibernateException e) { logger.error("Exception in getting all clubs: " + e); transaction.rollback(); } return clubs; }