X Tutup
package util; import model.Car; import model.DailyReport; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; import org.hibernate.internal.SessionFactoryImpl; import org.hibernate.service.ServiceRegistry; import java.sql.Connection; import java.sql.SQLException; public class DBHelper { private static SessionFactory sessionFactory; public static SessionFactory getSessionFactory() { if (sessionFactory == null) { sessionFactory = createSessionFactory(); } return sessionFactory; } // @SuppressWarnings("UnusedDeclaration") private static Configuration getMySqlConfiguration() { Configuration configuration = new Configuration(); configuration.addAnnotatedClass(Car.class); configuration.addAnnotatedClass(DailyReport.class); configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect"); configuration.setProperty("hibernate.connection.driver_class", "com.mysql.cj.jdbc.Driver"); configuration.setProperty("hibernate.connection.url", "jdbc:mysql://localhost:3306/db_example?serverTimezone=UTC"); configuration.setProperty("hibernate.connection.username", "root"); configuration.setProperty("hibernate.connection.password", "root"); configuration.setProperty("hibernate.show_sql", "false"); configuration.setProperty("hibernate.hbm2ddl.auto", "update"); //Change to create configuration.setProperty("hibernate.jdbc.time_zone", "UTC"); return configuration; } private static SessionFactory createSessionFactory() { Configuration configuration = getMySqlConfiguration(); StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder(); builder.applySettings(configuration.getProperties()); ServiceRegistry serviceRegistry = builder.build(); return configuration.buildSessionFactory(serviceRegistry); } }
X Tutup