Class HibernateConfig

java.lang.Object
com.esprit.config.HibernateConfig

public class HibernateConfig extends Object
Hibernate Configuration Manager Manages database connection and session factory configuration
  • Field Details

    • log

      private static final org.slf4j.Logger log
    • sessionFactory

      private static org.hibernate.SessionFactory sessionFactory
    • HIBERNATE_CONFIG_FILE

      private static final String HIBERNATE_CONFIG_FILE
      See Also:
    • HIBERNATE_PRODUCTION_CONFIG_FILE

      private static final String HIBERNATE_PRODUCTION_CONFIG_FILE
      See Also:
    • HIBERNATE_SQLITE_CONFIG_FILE

      private static final String HIBERNATE_SQLITE_CONFIG_FILE
      See Also:
    • HIBERNATE_MYSQL_CONFIG_FILE

      private static final String HIBERNATE_MYSQL_CONFIG_FILE
      See Also:
  • Constructor Details

    • HibernateConfig

      public HibernateConfig()
  • Method Details

    • buildSessionFactory

      private static void buildSessionFactory()
      Build SessionFactory from configuration
    • loadHibernateProperties

      private static Properties loadHibernateProperties()
      Load Hibernate properties from configuration file
    • overrideWithEnvironmentVariables

      private static void overrideWithEnvironmentVariables(Properties properties, HibernateConfig.DatabaseType databaseType)
      Override properties with environment variables for flexible configuration
    • addAnnotatedClasses

      private static void addAnnotatedClasses(org.hibernate.cfg.Configuration configuration)
      Add all entity classes to the configuration
    • isProduction

      private static boolean isProduction()
      Check if running in production environment
    • getSessionFactory

      public static org.hibernate.SessionFactory getSessionFactory()
      Get the SessionFactory instance
    • shutdown

      public static void shutdown()
      Close the SessionFactory
    • getCurrentDatabaseType

      public static HibernateConfig.DatabaseType getCurrentDatabaseType()
      Get current database type being used
    • setDatabaseType

      public static void setDatabaseType(HibernateConfig.DatabaseType databaseType)
      Switch database type at runtime (requires application restart)
    • ensureDataDirectoryExists

      private static void ensureDataDirectoryExists()
      Create data directory for SQLite if it doesn't exist
    • initializeDatabase

      public static void initializeDatabase()
      Initialize database - create tables and initial data if needed