1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| package util;
import org.hibernate.*;
import org.hibernate.service.*;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static SessionFactory sessionFactory;
private static ServiceRegistry serviceRegistry;
public static Session openSession(){
if (sessionFactory == null)
configureSessionFactory();
return sessionFactory.openSession();
}
public static void close(Session session) {
if (session != null) {
try {
session.close();
} catch (HibernateException e) {
e.printStackTrace();
}
}
}
public static void rollback(Transaction tx) {
try {
if (tx != null)
tx.rollback();
} catch (HibernateException e) {
e.printStackTrace();}
}
private static void configureSessionFactory(){
Configuration configuration = new Configuration();
configuration.configure();
configuration.getProperties();
configuration.setProperty("hibernate.connection.url", PropertiesUtil.get(PropertiesUtil.HIBERNATE_URL));
configuration.setProperty("hibernate.connection.password", Crypto.decrypt(PropertiesUtil.get(PropertiesUtil.HIBERNATE_PASS)));
configuration.setProperty("hibernate.connection.username", Crypto.decrypt(PropertiesUtil.get(PropertiesUtil.HIBERNATE_USERNAME)));
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
}
} |
Partager