Guest User

Untitled

a guest
Aug 9th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.53 KB | None | 0 0
  1. package co.mobiwise.hibernate.util;
  2.  
  3. /**
  4. * Created by yusufcakmak on 8/3/15.
  5. */
  6. import java.util.Properties;
  7.  
  8. import org.hibernate.SessionFactory;
  9. import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
  10. import org.hibernate.cfg.Configuration;
  11. import org.hibernate.service.ServiceRegistry;
  12.  
  13. import co.mobiwise.hibernate.model.Book1;
  14.  
  15. public class HibernateUtil {
  16.  
  17. //XML based configuration
  18. private static SessionFactory sessionFactory;
  19.  
  20. //Annotation based configuration
  21. private static SessionFactory sessionAnnotationFactory;
  22.  
  23. //Property based configuration
  24. private static SessionFactory sessionJavaConfigFactory;
  25.  
  26. private static SessionFactory buildSessionFactory() {
  27. try {
  28. // Create the SessionFactory from hibernate.cfg.xml
  29. Configuration configuration = new Configuration();
  30. configuration.configure("hibernate.cfg.xml");
  31. System.out.println("Hibernate Configuration loaded");
  32.  
  33. ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
  34. System.out.println("Hibernate serviceRegistry created");
  35.  
  36. SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
  37.  
  38. return sessionFactory;
  39. }
  40. catch (Throwable ex) {
  41. // Make sure you log the exception, as it might be swallowed
  42. System.err.println("Initial SessionFactory creation failed." + ex);
  43. throw new ExceptionInInitializerError(ex);
  44. }
  45. }
  46.  
  47. private static SessionFactory buildSessionAnnotationFactory() {
  48. try {
  49. // Create the SessionFactory from hibernate.cfg.xml
  50. Configuration configuration = new Configuration();
  51. configuration.configure("hibernate-annotation.cfg.xml");
  52. System.out.println("Hibernate Annotation Configuration loaded");
  53.  
  54. ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
  55. System.out.println("Hibernate Annotation serviceRegistry created");
  56.  
  57. SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
  58.  
  59. return sessionFactory;
  60. }
  61. catch (Throwable ex) {
  62. // Make sure you log the exception, as it might be swallowed
  63. System.err.println("Initial SessionFactory creation failed." + ex);
  64. throw new ExceptionInInitializerError(ex);
  65. }
  66. }
  67.  
  68. private static SessionFactory buildSessionJavaConfigFactory() {
  69. try {
  70. Configuration configuration = new Configuration();
  71.  
  72. //Create Properties, can be read from property files too
  73. Properties props = new Properties();
  74. props.put("hibernate.connection.driver_class", "com.mysql.jdbc.Driver");
  75. props.put("hibernate.connection.url", "jdbc:mysql://localhost/Book");
  76. props.put("hibernate.connection.username", "root");
  77. props.put("hibernate.connection.password", "");
  78. props.put("hibernate.current_session_context_class", "thread");
  79.  
  80. configuration.setProperties(props);
  81.  
  82. //we can set mapping file or class with annotation
  83. //addClass(Employee1.class) will look for resource
  84. // com/journaldev/hibernate/model/Employee1.hbm.xml (not good)
  85. configuration.addAnnotatedClass(Book1.class);
  86.  
  87. ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
  88. System.out.println("Hibernate Java Config serviceRegistry created");
  89.  
  90. SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
  91.  
  92. return sessionFactory;
  93. }
  94. catch (Throwable ex) {
  95. System.err.println("Initial SessionFactory creation failed." + ex);
  96. throw new ExceptionInInitializerError(ex);
  97. }
  98. }
  99.  
  100. public static SessionFactory getSessionFactory() {
  101. if(sessionFactory == null) sessionFactory = buildSessionFactory();
  102. return sessionFactory;
  103. }
  104.  
  105. public static SessionFactory getSessionAnnotationFactory() {
  106. if(sessionAnnotationFactory == null) sessionAnnotationFactory = buildSessionAnnotationFactory();
  107. return sessionAnnotationFactory;
  108. }
  109.  
  110. public static SessionFactory getSessionJavaConfigFactory() {
  111. if(sessionJavaConfigFactory == null) sessionJavaConfigFactory = buildSessionJavaConfigFactory();
  112. return sessionJavaConfigFactory;
  113. }
  114.  
  115. }
Add Comment
Please, Sign In to add comment