Files
release-hive/src/main/java/wtf/beatrice/releasehive/HibernateManager.java
Beatrice Dellacà 88a9b2b706
All checks were successful
continuous-integration/drone/push Build is passing
RHSRV-3 - Implement Hibernate PSQL with basic /register API
2024-08-06 23:57:50 +02:00

45 lines
1.1 KiB
Java

package wtf.beatrice.releasehive;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class HibernateManager
{
private static HibernateManager instance;
private static Session session;
private static SessionFactory sessionFactory;
private HibernateManager() {
}
public static void initialize() {
sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
}
public static void shutdown() {
if(session != null && !session.isOpen()) {
session.close();
}
if(sessionFactory != null && sessionFactory.isOpen()) {
session.close();
}
}
public static Session getSession() {
if(session != null && (!session.isOpen() || !session.isConnected())) {
session.close();
}
session = sessionFactory.openSession();
return session;
}
public static Transaction beginTransaction() {
return getSession().beginTransaction();
}
}