Example usage for org.hibernate.boot Metadata getCollectionBindings

List of usage examples for org.hibernate.boot Metadata getCollectionBindings

Introduction

In this page you can find the example usage for org.hibernate.boot Metadata getCollectionBindings.

Prototype

java.util.Collection<Collection> getCollectionBindings();

Source Link

Document

Retrieves the Collection metadata representation for known all collections.

Usage

From source file:org.infinispan.test.hibernate.cache.commons.stress.CorrectnessTestCase.java

License:LGPL

private Metadata buildMetadata(StandardServiceRegistry registry) {
    MetadataSources metadataSources = new MetadataSources(registry);
    for (Class entityClass : getAnnotatedClasses()) {
        metadataSources.addAnnotatedClass(entityClass);
    }/*from  www.  jav  a  2s .c  o m*/

    Metadata metadata = metadataSources.buildMetadata();

    for (PersistentClass entityBinding : metadata.getEntityBindings()) {
        if (!entityBinding.isInherited()) {
            ((RootClass) entityBinding).setCacheConcurrencyStrategy(accessType.getExternalName());
        }
    }

    // Collections don't have integrated version, these piggyback on parent's owner version (for DB).
    // However, this version number isn't extractable and is not passed to cache methods.
    AccessType collectionAccessType = accessType == AccessType.NONSTRICT_READ_WRITE ? AccessType.READ_WRITE
            : accessType;
    for (Collection collectionBinding : metadata.getCollectionBindings()) {
        collectionBinding.setCacheConcurrencyStrategy(collectionAccessType.getExternalName());
    }

    return metadata;
}

From source file:org.infinispan.test.hibernate.cache.commons.stress.PutFromLoadStressTestCase.java

License:LGPL

@BeforeClass
public static void beforeClass() {
    // Extra options located in src/test/resources/hibernate.properties
    StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder()
            .applySetting(Environment.USE_SECOND_LEVEL_CACHE, "true")
            .applySetting(Environment.USE_QUERY_CACHE, "true")
            // TODO: Tweak to have a fully local region factory (no transport, cache mode = local, no marshalling, ...etc)
            .applySetting(Environment.CACHE_REGION_FACTORY,
                    "org.infinispan.hibernate.cache.InfinispanRegionFactory")
            .applySetting(Environment.JTA_PLATFORM, new NarayanaStandaloneJtaPlatform())
            // Force minimal puts off to simplify stressing putFromLoad logic
            .applySetting(Environment.USE_MINIMAL_PUTS, "false")
            .applySetting(Environment.HBM2DDL_AUTO, "create-drop");

    StandardServiceRegistry serviceRegistry = ssrb.build();

    MetadataSources metadataSources = new MetadataSources(serviceRegistry)
            .addResource("cache/infinispan/functional/Item.hbm.xml")
            .addResource("cache/infinispan/functional/Customer.hbm.xml")
            .addResource("cache/infinispan/functional/Contact.hbm.xml").addAnnotatedClass(Age.class);

    Metadata metadata = metadataSources.buildMetadata();
    for (PersistentClass entityBinding : metadata.getEntityBindings()) {
        if (entityBinding instanceof RootClass) {
            ((RootClass) entityBinding).setCacheConcurrencyStrategy("transactional");
        }//from   w  w w.  j av a 2  s .c  o m
    }
    for (Collection collectionBinding : metadata.getCollectionBindings()) {
        collectionBinding.setCacheConcurrencyStrategy("transactional");
    }

    sessionFactory = metadata.buildSessionFactory();
    tm = com.arjuna.ats.jta.TransactionManager.transactionManager();
}

From source file:org.infinispan.test.hibernate.cache.commons.stress.SecondLevelCacheStressTestCase.java

License:LGPL

private static Metadata buildMetadata(StandardServiceRegistry registry) {
    final String cacheStrategy = "transactional";

    MetadataSources metadataSources = new MetadataSources(registry);
    for (Class entityClass : getAnnotatedClasses()) {
        metadataSources.addAnnotatedClass(entityClass);
    }/*ww w.  j  a v  a  2  s  . c o  m*/

    Metadata metadata = metadataSources.buildMetadata();

    for (PersistentClass entityBinding : metadata.getEntityBindings()) {
        if (!entityBinding.isInherited()) {
            ((RootClass) entityBinding).setCacheConcurrencyStrategy(cacheStrategy);
        }
    }

    for (Collection collectionBinding : metadata.getCollectionBindings()) {
        collectionBinding.setCacheConcurrencyStrategy(cacheStrategy);
    }

    return metadata;
}

From source file:org.infinispan.test.hibernate.cache.commons.tm.JBossStandaloneJtaExampleTest.java

License:LGPL

private SessionFactory buildSessionFactory() {
    // Extra options located in src/test/resources/hibernate.properties
    StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder()
            .applySetting(Environment.DIALECT, "HSQL").applySetting(Environment.HBM2DDL_AUTO, "create-drop")
            .applySetting(Environment.CONNECTION_PROVIDER, JtaAwareConnectionProviderImpl.class.getName())
            .applySetting(Environment.JNDI_CLASS, "org.jnp.interfaces.NamingContextFactory")
            .applySetting(Environment.TRANSACTION_COORDINATOR_STRATEGY,
                    JtaTransactionCoordinatorBuilderImpl.class.getName())
            .applySetting(Environment.CURRENT_SESSION_CONTEXT_CLASS, "jta")
            .applySetting(Environment.RELEASE_CONNECTIONS, "auto")
            .applySetting(Environment.USE_SECOND_LEVEL_CACHE, "true")
            .applySetting(Environment.USE_QUERY_CACHE, "true")
            .applySetting(Environment.JTA_PLATFORM, new NarayanaStandaloneJtaPlatform())
            .applySetting(Environment.CACHE_REGION_FACTORY,
                    TestRegionFactoryProvider.load().getRegionFactoryClass().getName());

    StandardServiceRegistry serviceRegistry = ssrb.build();

    MetadataSources metadataSources = new MetadataSources(serviceRegistry);
    metadataSources.addResource("org/infinispan/test/hibernate/cache/commons/functional/entities/Item.hbm.xml");

    Metadata metadata = metadataSources.buildMetadata();
    for (PersistentClass entityBinding : metadata.getEntityBindings()) {
        if (entityBinding instanceof RootClass) {
            RootClass rootClass = (RootClass) entityBinding;
            rootClass.setCacheConcurrencyStrategy("transactional");
            rootClass.setCachingExplicitlyRequested(true);
        }//ww w  .  j  a  va  2  s. co  m
    }
    for (Collection collectionBinding : metadata.getCollectionBindings()) {
        collectionBinding.setCacheConcurrencyStrategy("transactional");
    }

    return metadata.buildSessionFactory();
}

From source file:org.infinispan.test.hibernate.cache.stress.PutFromLoadStressTestCase.java

License:LGPL

@BeforeClass
public static void beforeClass() {
    // Extra options located in src/test/resources/hibernate.properties
    StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder()
            .applySetting(Environment.USE_SECOND_LEVEL_CACHE, "true")
            .applySetting(Environment.USE_QUERY_CACHE, "true")
            // TODO: Tweak to have a fully local region factory (no transport, cache mode = local, no marshalling, ...etc)
            .applySetting(Environment.CACHE_REGION_FACTORY,
                    "org.infinispan.hibernate.cache.InfinispanRegionFactory")
            .applySetting(Environment.JTA_PLATFORM,
                    "org.hibernate.service.jta.platform.internal.JBossStandAloneJtaPlatform")
            // Force minimal puts off to simplify stressing putFromLoad logic
            .applySetting(Environment.USE_MINIMAL_PUTS, "false")
            .applySetting(Environment.HBM2DDL_AUTO, "create-drop");

    StandardServiceRegistry serviceRegistry = ssrb.build();

    MetadataSources metadataSources = new MetadataSources(serviceRegistry)
            .addResource("cache/infinispan/functional/Item.hbm.xml")
            .addResource("cache/infinispan/functional/Customer.hbm.xml")
            .addResource("cache/infinispan/functional/Contact.hbm.xml").addAnnotatedClass(Age.class);

    Metadata metadata = metadataSources.buildMetadata();
    for (PersistentClass entityBinding : metadata.getEntityBindings()) {
        if (entityBinding instanceof RootClass) {
            ((RootClass) entityBinding).setCacheConcurrencyStrategy("transactional");
        }/*from   w  w  w . j a  v  a2s. co  m*/
    }
    for (Collection collectionBinding : metadata.getCollectionBindings()) {
        collectionBinding.setCacheConcurrencyStrategy("transactional");
    }

    sessionFactory = metadata.buildSessionFactory();
    tm = com.arjuna.ats.jta.TransactionManager.transactionManager();
}

From source file:org.infinispan.test.hibernate.cache.tm.JBossStandaloneJtaExampleTest.java

License:LGPL

private SessionFactory buildSessionFactory() {
    // Extra options located in src/test/resources/hibernate.properties
    StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder()
            .applySetting(Environment.DIALECT, "HSQL").applySetting(Environment.HBM2DDL_AUTO, "create-drop")
            .applySetting(Environment.CONNECTION_PROVIDER, JtaAwareConnectionProviderImpl.class.getName())
            .applySetting(Environment.JNDI_CLASS, "org.jnp.interfaces.NamingContextFactory")
            .applySetting(Environment.TRANSACTION_COORDINATOR_STRATEGY,
                    JtaTransactionCoordinatorBuilderImpl.class.getName())
            .applySetting(Environment.CURRENT_SESSION_CONTEXT_CLASS, "jta")
            .applySetting(Environment.RELEASE_CONNECTIONS, "auto")
            .applySetting(Environment.USE_SECOND_LEVEL_CACHE, "true")
            .applySetting(Environment.USE_QUERY_CACHE, "true")
            .applySetting(Environment.JTA_PLATFORM, new JBossStandAloneJtaPlatform())
            .applySetting(Environment.CACHE_REGION_FACTORY, TestInfinispanRegionFactory.class.getName());

    StandardServiceRegistry serviceRegistry = ssrb.build();

    MetadataSources metadataSources = new MetadataSources(serviceRegistry);
    metadataSources.addResource("org/infinispan/test/hibernate/cache/functional/entities/Item.hbm.xml");

    Metadata metadata = metadataSources.buildMetadata();
    for (PersistentClass entityBinding : metadata.getEntityBindings()) {
        if (entityBinding instanceof RootClass) {
            ((RootClass) entityBinding).setCacheConcurrencyStrategy("transactional");
        }/*from w  w  w  .  j a va 2s  .  c  o m*/
    }
    for (Collection collectionBinding : metadata.getCollectionBindings()) {
        collectionBinding.setCacheConcurrencyStrategy("transactional");
    }

    return metadata.buildSessionFactory();
}