public class HibernateSessionRequestFilter implements Filter { private static Logger log = LoggerFactory.getLogger(HibernateSessionRequestFilter.class); private static ThreadLocal<LocalSessionFactoryBean> lsfbth = new ThreadLocal<LocalSessionFactoryBean>(); private static final Map<Object, DataSource> datasourceMap = new HashMap<>(); public void init(FilterConfig filterConfig) throws ServletException { log.debug("Initializing filter..."); LocalSessionFactoryBean lsfb = new LocalSessionFactoryBean(); lsfb.setHibernateProperties(null); // TODO: add correct values lsfbth.set(lsfb); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { LocalSessionFactoryBean lsfb = lsfbth.get(); String credentials = null; //TODO: get user login from request DataSource dataSource = datasourceMap.get(credentials); if( dataSource==null){ // TODO: build datasource here datasourceMap.put(credentials, dataSource); } lsfb.setDataSource(dataSource); SessionFactory sf = lsfb.getObject();
@Configuration public class BeanFactory { @Bean(name = "sessionFactory") public LocalSessionFactoryBean sessionFactory() { LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); sessionFactory.setDataSource(dataSource); // datasource injected using @Autowire Connection connection = null; Statement statement = null; ResultSet resultSet = null; String[] packageToScan = new String[] {"your package"}; try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection("", "", ""); statement = connection.createStatement(); resultSet = statement.executeQuery("query to get packagetoscan property."); if (resultSet.next()){ packageToScan[0] = resultSet.getString(1); } }catch (Exception e){ e.printStackTrace(); } sessionFactory.setPackagesToScan(packageToScan); sessionFactory.setHibernateProperties(hibernateProperties()); // hibernateProperties() method will return properties. return sessionFactory; }
@Bean public LocalSessionFactoryBean sessionFactory() { LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); sessionFactory.setDataSource(dataSource()); sessionFactory.setPackagesToScan(new String[] { "my.packages" }); sessionFactory.setHibernateProperties(hibernateProperties()); return sessionFactory; }
@Bean public LocalSessionFactoryBean sessionFactory() { LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); sessionFactory.setDataSource(dataSource()); sessionFactory.setPackagesToScan(new String[] { "com.bridge.compaignspring.model" }); sessionFactory.setHibernateProperties(hibernateProperties()); return sessionFactory; }
@Configuration public class BeanFactory { @Bean public LocalSessionFactoryBean sessionFactory() { LocalSessionFactoryBean bean = new LocalSessionFactoryBean(); bean.setNamingStrategy(getNamingStrategy()); bean.setMappingResources(Arrays.asList(getPerson()); bean.setHibernateProperties(new Properties() {{ setProperty("hibernate.dialect", "org.hibernate.dialect.HSQLDialect"); setProperty("hibernate.show_sql", "true") setProperty("hibernate.hbm2ddl.auto", "create"); }}); bean.setDataSource(dataSource()); return bean; } @Bean public DataSource dataSource() { .... }
LocalSessionFactoryBean sessionFactory() throws IOException { LocalSessionFactoryBean factoryBean = new LocalSessionFactoryBean(); factoryBean.setHibernateProperties(getHibernateProperties()); factoryBean.setDataSource(dataSource); factoryBean.setPackagesToScan("ro.test");
LocalSessionFactoryBean sessionFactoryBean = new LocalSessionFactoryBean(); ...... sessionFactoryBean.setHibernateProperties(getHibernateProperties()); System.out.println("Session Factory Init");
@Configuration @EnableTransactionManagement @ComponentScan({"com.project.configuration"}) @PropertySource(value = {"classpath:application.properties"}) public class HibernateConfiguration { ... @Bean public LocalSessionFactoryBean sessionFactory() { LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); sessionFactory.setDataSource(dataSource()); sessionFactory.setPackagesToScan(new String[]{ "com.project.model"}); sessionFactory.setHibernateProperties(hibernateProperties()); return sessionFactory; } ... }
private static LocalSessionFactoryBean generateSessionFactoryBean(String[] basePackage, DataSource dataSource, Properties hibernateProperties) { LocalSessionFactoryBean localSessionFactoryBean = new LocalSessionFactoryBean(); localSessionFactoryBean.setDataSource(dataSource); localSessionFactoryBean.setPackagesToScan(basePackage); localSessionFactoryBean.setHibernateProperties(hibernateProperties); // Added the below line localSessionFactoryBean.afterPropertiesSet(); return localSessionFactoryBean; }
sessionFactory.setDataSource(dataSource()); sessionFactory.setPackagesToScan(new String[] { "com.XXXXXX.spring.component" }); sessionFactory.setHibernateProperties(hibProperties()); return sessionFactory;
@Bean(name="DB1SessionFactory") public LocalSessionFactoryBean db1SessionFactory() { LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); sessionFactory.setDataSource(dataSource()); sessionFactory.setPackagesToScan(new String[] { "org.npcc.ccms.model.db1" }); sessionFactory.setHibernateProperties(hibernateProperties()); return sessionFactory; } @Bean public SessionFactory sessionFactory() { return db1SessionFactory().getObject(); }
hibernateProperties.setProperty("hibernate.hql.bulk_id_strategy", "org.hibernate.hql.spi.id.inline.InlineIdsOrClauseBulkIdStrategy"); bean.setHibernateProperties(hibernateProperties); bean.setImplicitNamingStrategy(midPointImplicitNamingStrategy()); bean.setPhysicalNamingStrategy(midPointPhysicalNamingStrategy());
@Bean public LocalSessionFactoryBean sessionFactory() { LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); sessionFactory.setDataSource(dataSource()); sessionFactory.setPackagesToScan(new String[] { "package.to.your.entity.classes" }); sessionFactory.setHibernateProperties(hibernateProperties()); return sessionFactory; } @Bean public DataSource dataSource(){ //define datasource } private Properties hibernateProperties() { //hibernate props }
sessionFactory.setDataSource(restDataSource()); sessionFactory.setPackagesToScan(new String[] { "org.mysample.model" }); sessionFactory.setHibernateProperties(hibernateProperties());
factoryBean.setHibernateProperties(hibernateProperties()); factoryBean.setDataSource(dataSource());
sessionFactory.setDataSource(dataSource()); sessionFactory.setPackagesToScan(new String[] { "kamienica" }); sessionFactory.setHibernateProperties(hibernateProperties()); return sessionFactory;
@Bean public LocalSessionFactoryBean sessionFactory() { LocalSessionFactoryBean localSessionFactoryBean = new LocalSessionFactoryBean(); localSessionFactoryBean.setDataSource(dataSource()); localSessionFactoryBean.setPackagesToScan(packagesToScan()); localSessionFactoryBean.setHibernateProperties(additionalProperties()); return localSessionFactoryBean; }
private LocalSessionFactoryBean sfBean(String packageName, String dialect) { LocalSessionFactoryBean sfBean = new LocalSessionFactoryBean(); try { sfBean.setPackagesToScan(packageName); sfBean.setHibernateProperties(hibernateProperties(dialect)); sfBean.afterPropertiesSet(); } catch (IOException e) { throw new InvocationException(e); } return sfBean; }
private LocalSessionFactoryBean sfBean(String packageName, String dialect) { LocalSessionFactoryBean sfBean = new LocalSessionFactoryBean(); try { sfBean.setPackagesToScan(packageName); sfBean.setHibernateProperties(hibernateProperties(dialect)); sfBean.afterPropertiesSet(); } catch (IOException e) { throw new InvocationException(e); } return sfBean; }
sessionFactory2.setDataSource(dataSource2()); sessionFactory2.setPackagesToScan(new String[]{"com.alti.hrportal.model"}); sessionFactory2.setHibernateProperties(hibernateProperties2()); return sessionFactory2;