package com.floreantpos.model.dao; import org.hibernate.cfg.Configuration; import com.floreantpos.config.ApplicationConfig; import com.floreantpos.model.ActionHistory; import com.floreantpos.model.AttendenceHistory; import com.floreantpos.model.CashDrawerResetHistory; import com.floreantpos.model.CookingInstruction; import com.floreantpos.model.CouponAndDiscount; import com.floreantpos.model.DrawerPullReport; import com.floreantpos.model.Gratuity; import com.floreantpos.model.MenuCategory; import com.floreantpos.model.MenuGroup; import com.floreantpos.model.MenuItem; import com.floreantpos.model.MenuItemModifierGroup; import com.floreantpos.model.MenuItemShift; import com.floreantpos.model.MenuModifier; import com.floreantpos.model.MenuModifierGroup; import com.floreantpos.model.PayoutReason; import com.floreantpos.model.PayoutRecepient; import com.floreantpos.model.PosTransaction; import com.floreantpos.model.PrinterConfiguration; import com.floreantpos.model.Restaurant; import com.floreantpos.model.RestaurantTable; import com.floreantpos.model.Shift; import com.floreantpos.model.Tax; import com.floreantpos.model.Terminal; import com.floreantpos.model.Ticket; import com.floreantpos.model.TicketCouponAndDiscount; import com.floreantpos.model.TicketItem; import com.floreantpos.model.TicketItemModifier; import com.floreantpos.model.TicketItemModifierGroup; import com.floreantpos.model.User; import com.floreantpos.model.UserPermission; import com.floreantpos.model.UserType; import com.floreantpos.model.VoidReason; public abstract class _RootDAO extends com.floreantpos.model.dao._BaseRootDAO { static { initialize(); } /* If you are using lazy loading, uncomment this Somewhere, you should call RootDAO.closeCurrentThreadSessions(); public void closeSession (Session session) { // do nothing here because the session will be closed later } */ /* If you are pulling the SessionFactory from a JNDI tree, uncomment this protected SessionFactory getSessionFactory(String configFile) { // If you have a single session factory, ignore the configFile parameter // Otherwise, you can set a meta attribute under the class node called "config-file" which // will be passed in here so you can tell what session factory an individual mapping file // belongs to return (SessionFactory) new InitialContext().lookup("java:/{SessionFactoryName}"); } */ public static void initialize() { Configuration configuration = new Configuration(); configuration = configuration.addClass(ActionHistory.class); configuration = configuration.addClass(AttendenceHistory.class); configuration = configuration.addClass(CashDrawerResetHistory.class); configuration = configuration.addClass(CookingInstruction.class); configuration = configuration.addClass(CouponAndDiscount.class); configuration = configuration.addClass(Gratuity.class); configuration = configuration.addClass(MenuCategory.class); configuration = configuration.addClass(MenuGroup.class); configuration = configuration.addClass(MenuItem.class); configuration = configuration.addClass(MenuItemModifierGroup.class); configuration = configuration.addClass(MenuItemShift.class); configuration = configuration.addClass(MenuModifier.class); configuration = configuration.addClass(MenuModifierGroup.class); configuration = configuration.addClass(PayoutReason.class); configuration = configuration.addClass(PayoutRecepient.class); configuration = configuration.addClass(Restaurant.class); configuration = configuration.addClass(RestaurantTable.class); configuration = configuration.addClass(Shift.class); configuration = configuration.addClass(Tax.class); configuration = configuration.addClass(Terminal.class); configuration = configuration.addClass(Ticket.class); configuration = configuration.addClass(TicketCouponAndDiscount.class); configuration = configuration.addClass(TicketItem.class); configuration = configuration.addClass(TicketItemModifier.class); configuration = configuration.addClass(TicketItemModifierGroup.class); configuration = configuration.addClass(PosTransaction.class); configuration = configuration.addClass(User.class); configuration = configuration.addClass(VoidReason.class); configuration = configuration.addClass(DrawerPullReport.class); configuration = configuration.addClass(PrinterConfiguration.class); configuration = configuration.addClass(UserPermission.class); configuration = configuration.addClass(UserType.class); configuration = configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.DerbyDialect"); configuration = configuration.setProperty("hibernate.connection.driver_class", "org.apache.derby.jdbc.ClientDriver"); configuration = configuration.setProperty("hibernate.connection.url", ApplicationConfig.getConnectionURL()); configuration = configuration.setProperty("hibernate.connection.username", ApplicationConfig.getDatabaseUser()); configuration = configuration.setProperty("hibernate.connection.password", ApplicationConfig.getDatabasePassword()); configuration = configuration.setProperty("hibernate.hbm2ddl.auto", "update"); configuration = configuration.setProperty("hibernate.connection.autocommit", "false"); configuration = configuration.setProperty("hibernate.max_fetch_depth", "3"); configuration = configuration.setProperty("hibernate.show_sql", "false"); setSessionFactory(configuration.buildSessionFactory()); } public static void dbCleanerInitialize() { Configuration configuration = new Configuration(); configuration = configuration.addClass(ActionHistory.class); configuration = configuration.addClass(AttendenceHistory.class); configuration = configuration.addClass(CashDrawerResetHistory.class); configuration = configuration.addClass(CookingInstruction.class); configuration = configuration.addClass(CouponAndDiscount.class); configuration = configuration.addClass(Gratuity.class); configuration = configuration.addClass(MenuCategory.class); configuration = configuration.addClass(MenuGroup.class); configuration = configuration.addClass(MenuItem.class); configuration = configuration.addClass(MenuItemModifierGroup.class); configuration = configuration.addClass(MenuItemShift.class); configuration = configuration.addClass(MenuModifier.class); configuration = configuration.addClass(MenuModifierGroup.class); configuration = configuration.addClass(PayoutReason.class); configuration = configuration.addClass(PayoutRecepient.class); configuration = configuration.addClass(Restaurant.class); configuration = configuration.addClass(RestaurantTable.class); configuration = configuration.addClass(Shift.class); configuration = configuration.addClass(Tax.class); configuration = configuration.addClass(Terminal.class); configuration = configuration.addClass(Ticket.class); configuration = configuration.addClass(TicketCouponAndDiscount.class); configuration = configuration.addClass(TicketItem.class); configuration = configuration.addClass(TicketItemModifier.class); configuration = configuration.addClass(TicketItemModifierGroup.class); configuration = configuration.addClass(PosTransaction.class); configuration = configuration.addClass(User.class); configuration = configuration.addClass(VoidReason.class); configuration = configuration.addClass(DrawerPullReport.class); configuration = configuration.addClass(PrinterConfiguration.class); configuration = configuration.addClass(UserPermission.class); configuration = configuration.addClass(UserType.class); configuration = configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.DerbyDialect"); configuration = configuration.setProperty("hibernate.connection.driver_class", "org.apache.derby.jdbc.ClientDriver"); configuration = configuration.setProperty("hibernate.connection.url", ApplicationConfig.getConnectionURL() + ";create=true"); configuration = configuration.setProperty("hibernate.connection.username", ApplicationConfig.getDatabaseUser()); configuration = configuration.setProperty("hibernate.connection.password", ApplicationConfig.getDatabasePassword()); configuration = configuration.setProperty("hibernate.hbm2ddl.auto", "create"); configuration = configuration.setProperty("hibernate.connection.autocommit", "false"); configuration = configuration.setProperty("hibernate.max_fetch_depth", "3"); configuration = configuration.setProperty("hibernate.show_sql", "false"); setSessionFactory(configuration.buildSessionFactory()); } }