Esempio n. 1
0
 private static SessionFactory buildSessionFactory() {
   try {
     StandardServiceRegistry standardRegistry =
         new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
     Metadata metadata = new MetadataSources(standardRegistry).getMetadataBuilder().build();
     return metadata.getSessionFactoryBuilder().build();
   } catch (HibernateException e) {
     System.out.println("Problema creando SessionFactory " + e);
   }
   return sessionFactory;
 }
  @Before
  public void setUp() {
    AbstractMultiTenantConnectionProvider multiTenantConnectionProvider =
        buildMultiTenantConnectionProvider();

    Map settings = new HashMap();
    settings.put(Environment.MULTI_TENANT, MultiTenancyStrategy.SCHEMA);
    settings.put(Environment.CACHE_REGION_FACTORY, CachingRegionFactory.class.getName());
    settings.put(Environment.GENERATE_STATISTICS, "true");

    serviceRegistry =
        (ServiceRegistryImplementor)
            new StandardServiceRegistryBuilder()
                .applySettings(settings)
                .addService(MultiTenantConnectionProvider.class, multiTenantConnectionProvider)
                .build();

    MetadataSources ms = new MetadataSources(serviceRegistry);
    ms.addAnnotatedClass(Customer.class);
    ms.addAnnotatedClass(Invoice.class);

    Metadata metadata = ms.buildMetadata();
    ((RootClass) metadata.getEntityBinding(Customer.class.getName()))
        .setCacheConcurrencyStrategy("read-write");

    HibernateSchemaManagementTool tool = new HibernateSchemaManagementTool();
    tool.injectServices(serviceRegistry);

    final GenerationTargetToDatabase acmeTarget =
        new GenerationTargetToDatabase(
            new DdlTransactionIsolatorTestingImpl(serviceRegistry, acmeProvider));
    final GenerationTargetToDatabase jbossTarget =
        new GenerationTargetToDatabase(
            new DdlTransactionIsolatorTestingImpl(serviceRegistry, jbossProvider));

    new SchemaDropperImpl(serviceRegistry)
        .doDrop(metadata, serviceRegistry, settings, true, acmeTarget, jbossTarget);

    new SchemaCreatorImpl(serviceRegistry)
        .doCreation(metadata, serviceRegistry, settings, true, acmeTarget, jbossTarget);

    final SessionFactoryBuilder sfb = metadata.getSessionFactoryBuilder();
    configure(sfb);
    sessionFactory = (SessionFactoryImplementor) sfb.build();
  }