Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class HibernateUtil {
- private static SessionFactory sessionFactory;
- static {
- try {
- // abre o properties com as configurações do hibernate (conexão e propriedades)
- //Properties propriedades = new Properties();
- //propriedades.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("hibernate.properties"));
- Properties propriedades = Util.hibernateProp();
- // chama o méto que cria o session factory usando o properties.
- createSessionFactory(propriedades);
- } catch (Exception ex) {
- // Log the exception.
- System.err.println("Initial SessionFactory creation failed." + ex);
- throw new ExceptionInInitializerError(ex);
- }
- }
- /**
- * Método que (re)cria o SessionFactory a partir de um arquivo properties passado.
- *
- * @param propriedades
- */
- public static void createSessionFactory(Properties propriedades) {
- try {
- AnnotationConfiguration cfg = new AnnotationConfiguration();
- // seta as configurações do properties passado no cfg do hibernate.
- cfg.setProperties(propriedades);
- // define configurações adicionais do hibernate (pode ser colocado no properties tambem)
- cfg.setProperty("hibernate.show_sql", "true")
- .setProperty("hibernate.format_sql", "true")
- .setProperty("hibernate.hbm2ddl.auto", "update")
- .setProperty("hibernate.transaction.factory_class", "org.hibernate.transaction.JDBCTransactionFactory")
- .setProperty("hibernate.current_session_context_class", "thread");
- // pacotes onde estao as classes que serao adicionadas como Entitys no hibernate
- Set<Class> listaClasses = ClassScan.findAll().annotatedWith(Entity.class).in("valueObjects");
- for (Class classe : listaClasses) {
- cfg.addAnnotatedClass(classe);
- }
- // (re)constroi o SessionFactory
- sessionFactory = cfg.buildSessionFactory();
- } catch (Throwable ex) {
- // Log the exception.
- System.err.println("Initial SessionFactory creation failed." + ex);
- throw new ExceptionInInitializerError(ex);
- }
- }
- public static Session getSession() {
- return sessionFactory.openSession();
- }
- }
Add Comment
Please, Sign In to add comment