Example usage for org.hibernate.engine.spi SessionFactoryImplementor getCollectionPersisters

List of usage examples for org.hibernate.engine.spi SessionFactoryImplementor getCollectionPersisters

Introduction

In this page you can find the example usage for org.hibernate.engine.spi SessionFactoryImplementor getCollectionPersisters.

Prototype

@Deprecated
default Map<String, CollectionPersister> getCollectionPersisters() 

Source Link

Usage

From source file:com.blazebit.persistence.integration.hibernate.Hibernate42EntityManagerFactoryIntegrator.java

License:Apache License

@Override
public JpaProviderFactory getJpaProviderFactory(final EntityManagerFactory entityManagerFactory) {
    return new JpaProviderFactory() {
        @Override/*from  w  ww  . j a  va 2  s  . co m*/
        public JpaProvider createJpaProvider(EntityManager em) {
            SessionFactoryImplementor factory = null;
            PersistenceUnitUtil persistenceUnitUtil = entityManagerFactory == null ? null
                    : entityManagerFactory.getPersistenceUnitUtil();
            if (persistenceUnitUtil == null && em != null) {
                persistenceUnitUtil = em.getEntityManagerFactory().getPersistenceUnitUtil();
            }
            if (em == null) {
                if (entityManagerFactory instanceof SessionFactoryImplementor) {
                    factory = (SessionFactoryImplementor) entityManagerFactory;
                } else if (entityManagerFactory instanceof HibernateEntityManagerFactory) {
                    factory = (SessionFactoryImplementor) ((HibernateEntityManagerFactory) entityManagerFactory)
                            .getSessionFactory();
                }
                if (entityManagerFactory instanceof HibernateEntityManagerFactory) {
                    return new HibernateJpaProvider(persistenceUnitUtil, getDbmsName(factory.getDialect()),
                            factory.getEntityPersisters(), factory.getCollectionPersisters(), MAJOR, MINOR, FIX,
                            TYPE);
                }
            }
            return new HibernateJpaProvider(persistenceUnitUtil, getDbms(em), getEntityPersisters(em),
                    getCollectionPersisters(em), MAJOR, MINOR, FIX, TYPE);
        }
    };
}

From source file:com.blazebit.persistence.integration.hibernate.Hibernate43EntityManagerFactoryIntegrator.java

License:Apache License

@Override
public JpaProviderFactory getJpaProviderFactory(final EntityManagerFactory entityManagerFactory) {
    return new JpaProviderFactory() {
        @Override//w  w w . ja  v  a2 s  .  co  m
        public JpaProvider createJpaProvider(EntityManager em) {
            SessionFactoryImplementor factory = null;
            PersistenceUnitUtil persistenceUnitUtil = entityManagerFactory == null ? null
                    : entityManagerFactory.getPersistenceUnitUtil();
            if (persistenceUnitUtil == null && em != null) {
                persistenceUnitUtil = em.getEntityManagerFactory().getPersistenceUnitUtil();
            }
            if (em == null) {
                if (entityManagerFactory instanceof SessionFactoryImplementor) {
                    factory = (SessionFactoryImplementor) entityManagerFactory;
                } else if (entityManagerFactory instanceof HibernateEntityManagerFactory) {
                    factory = (SessionFactoryImplementor) ((HibernateEntityManagerFactory) entityManagerFactory)
                            .getSessionFactory();
                }
                if (factory == null && entityManagerFactory != null) {
                    factory = entityManagerFactory.unwrap(SessionFactoryImplementor.class);
                }
                if (factory != null) {
                    return new HibernateJpa21Provider(persistenceUnitUtil, getDbmsName(factory.getDialect()),
                            factory.getEntityPersisters(), factory.getCollectionPersisters(), MAJOR, MINOR, FIX,
                            TYPE);
                }
            }
            return new HibernateJpa21Provider(persistenceUnitUtil, getDbms(em), getEntityPersisters(em),
                    getCollectionPersisters(em), MAJOR, MINOR, FIX, TYPE);
        }
    };
}

From source file:org.jbpm.services.task.query.DistincVsJoinPerformanceTest.java

License:Apache License

private void copyCollectionPersisterKeys(Attribute embeddedAttr, PluralAttribute listAttr, EntityManager em) {
    String[] keys = createOriginalAndExpectedKeys(embeddedAttr, listAttr);
    try {/*  ww w. j  ava 2 s  .  c  om*/
        SessionImpl session = (SessionImpl) em.getDelegate();
        SessionFactoryImplementor sessionFactory = session.getSessionFactory();
        CollectionPersister persister = sessionFactory.getCollectionPersister(keys[0]);
        sessionFactory.getCollectionPersisters().put(keys[1], persister);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}