Advertisement
Guest User

HibernateUtil bombado

a guest
Nov 25th, 2014
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.70 KB | None | 0 0
  1. package dao;
  2.  
  3. import entidade.Curso;
  4. import org.hibernate.Session;
  5. import org.hibernate.SessionFactory;
  6. import org.hibernate.Transaction;
  7. import org.hibernate.cfg.Configuration;
  8.  
  9. public class HibernateUtility {
  10.  
  11.     private static final SessionFactory factory;
  12.     private static final ThreadLocal sessionThread = new ThreadLocal();
  13.     private static final ThreadLocal transactionThread = new ThreadLocal();
  14.  
  15.     public static Session getSession() {
  16.         Session session = (Session) sessionThread.get();
  17.         if ((session == null) || (!(session.isOpen()))) {
  18.             session = factory.openSession();
  19.             sessionThread.set(session);
  20.         }
  21.         return ((Session) sessionThread.get());
  22.     }
  23.  
  24.     public static void closeSession() {
  25.         Session session = (Session) sessionThread.get();
  26.         if ((session != null) && (session.isOpen())) {
  27.             sessionThread.set(null);
  28.             session.close();
  29.         }
  30.     }
  31.  
  32.     public static void beginTransaction() {
  33.         Transaction transaction = getSession().beginTransaction();
  34.         transactionThread.set(transaction);
  35.     }
  36.  
  37.     public static void commitTransaction() {
  38.         Transaction transaction = (Transaction) transactionThread.get();
  39.         if ((transaction != null) && (!(transaction.wasCommitted())) && (!(transaction.wasRolledBack()))) {
  40.             transaction.commit();
  41.             transactionThread.set(null);
  42.         }
  43.     }
  44.  
  45.     public static void rollbackTransaction() {
  46.         Transaction transaction = (Transaction) transactionThread.get();
  47.         if ((transaction != null) && (!(transaction.wasCommitted())) && (!(transaction.wasRolledBack()))) {
  48.             transaction.rollback();
  49.             transactionThread.set(null);
  50.         }
  51.     }
  52.  
  53.     static {
  54.         try {
  55.             factory = new Configuration()
  56. //                    /***MYSQL***/
  57.                     //TODO Lembrar de parametrar de outro modo
  58.                     //.setProperty("hibernate.current_session_context_class", "jta")
  59.                     .setProperty("hibernate.current_session_context_class", "managed")
  60.                    // .setProperty("hibernate.current_session_context_class", "thread")                    
  61.                     .setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLInnoDBDialect") // tipo de dialeto do banco
  62.                     .setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver") // driver do banco
  63.                     .setProperty("hibernate.connection.url", "jdbc:mysql://localhost:3306/senai") // endereço do banco de dados
  64.                     .setProperty("hibernate.connection.username", "root")
  65.                     .setProperty("hibernate.connection.password", "")
  66.                     .setProperty("hibernate.hbm2ddl.auto", "update")
  67.                     .setProperty("hibernate.c3p0.max_size", "10")
  68.                     .setProperty("hibernate.c3p0.min_size", "2")
  69.                     .setProperty("hibernate.c3p0.timeout", "5000")
  70.                     .setProperty("hibernate.c3p0.max_statements", "10")
  71.                     .setProperty("hibernate.c3p0.idle_test_period", "3000")
  72.                     .setProperty("hibernate.c3p0.acquire_increment", "2")
  73.                     .setProperty("show_sql", "true")
  74.                     .setProperty("use_outer_join", "true")
  75.                     .setProperty("hibernate.generate_statistics", "true")
  76.                     .setProperty("hibernate.use_sql_comments", "true")
  77.                     .setProperty("hibernate.format_sql", "true")
  78.                     .setProperty("hibernate.show_sql", "true")
  79.                     //CADASTROS abaixo coloque todas classes que deseja ser modelo para criação do banco de dados
  80.                     .addAnnotatedClass(Curso.class)              
  81.                     //MOVIMENTOS
  82.                     .buildSessionFactory();
  83.         } catch (RuntimeException e) {
  84.             System.out.println("Erro "+e.getMessage());
  85.             e.printStackTrace();
  86.             throw e;
  87.         }
  88.     }
  89.  
  90.     public static void main(String [] args) {
  91. //TODO Usado para teste de conexao SOMENTE
  92. //        try{
  93. //            List lista = new ArrayList();
  94. //        
  95. //            Criteria crit = HibernateUtility.getSession().createCriteria(Obra.class)
  96. //            .add(Restrictions.eq("clienteIdcliente.idcliente", 28))        ;
  97. //            lista = (List) crit.list();
  98. //
  99. //            List<Obra> obras = lista;
  100. //            for (Obra obra : obras) {
  101. //                System.out.println("Nome " +obra.getNome());
  102. //            }
  103. //            System.out.println("FIM");
  104. //        }catch(Exception e){
  105. //            System.out.println("Erro " + e.getMessage());
  106. //        }
  107.     }
  108.  
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement