Package com.esprit.config
Class HibernateConfig
java.lang.Object
com.esprit.config.HibernateConfig
Hibernate Configuration Manager Manages database connection and session
factory configuration
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
addAnnotatedClasses
(org.hibernate.cfg.Configuration configuration) Add all entity classes to the configurationprivate static void
Build SessionFactory from configurationprivate static void
Create data directory for SQLite if it doesn't existstatic HibernateConfig.DatabaseType
Get current database type being usedstatic org.hibernate.SessionFactory
Get the SessionFactory instancestatic void
Initialize database - create tables and initial data if neededprivate static boolean
Check if running in production environmentprivate static Properties
Load Hibernate properties from configuration fileprivate static void
overrideWithEnvironmentVariables
(Properties properties, HibernateConfig.DatabaseType databaseType) Override properties with environment variables for flexible configurationstatic void
setDatabaseType
(HibernateConfig.DatabaseType databaseType) Switch database type at runtime (requires application restart)static void
shutdown()
Close the SessionFactory
-
Field Details
-
log
private static final org.slf4j.Logger log -
sessionFactory
private static org.hibernate.SessionFactory sessionFactory -
HIBERNATE_CONFIG_FILE
- See Also:
-
HIBERNATE_PRODUCTION_CONFIG_FILE
- See Also:
-
HIBERNATE_SQLITE_CONFIG_FILE
- See Also:
-
HIBERNATE_MYSQL_CONFIG_FILE
- See Also:
-
-
Constructor Details
-
HibernateConfig
public HibernateConfig()
-
-
Method Details
-
buildSessionFactory
private static void buildSessionFactory()Build SessionFactory from configuration -
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
Get current database type being used -
setDatabaseType
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
-