org.hibernate.Session#getSessionFactory ( )源码实例Demo

下面列出了org.hibernate.Session#getSessionFactory ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: hibernate-ogm-ignite   文件: IgniteTestHelper.java
@Override
public Map<String, Object> extractEntityTuple(Session session, EntityKey key) {
	SessionFactoryImplementor sessionFactory = (SessionFactoryImplementor) session.getSessionFactory();
	IgniteCache<Object, BinaryObject> cache = getEntityCache( sessionFactory, key.getMetadata() );
	Object cacheKey = getProvider( sessionFactory ).createKeyObject( key );

	Map<String, Object> result = new HashMap<>();
	BinaryObject po = cache.get( cacheKey );

	TupleSnapshot snapshot = new IgniteTupleSnapshot( cacheKey, po, key.getMetadata() );
	for ( String fieldName : snapshot.getColumnNames() ) {
		result.put( fieldName, snapshot.get( fieldName ) );
	}

	return result;
}
 
源代码2 项目: pnc   文件: DefaultSequenceHandlerRepository.java
@Override
public Long getNextID(final String sequenceName) {

    ReturningWork<Long> maxReturningWork = new ReturningWork<Long>() {
        @Override
        public Long execute(Connection connection) throws SQLException {
            DialectResolver dialectResolver = new StandardDialectResolver();
            Dialect dialect = dialectResolver.resolveDialect(getResolutionInfo(connection));
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                preparedStatement = connection.prepareStatement(dialect.getSequenceNextValString(sequenceName));
                resultSet = preparedStatement.executeQuery();
                resultSet.next();
                return resultSet.getLong(1);
            } catch (SQLException e) {
                throw e;
            } finally {
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (resultSet != null) {
                    resultSet.close();
                }
            }

        }
    };

    Session session = (Session) entityManager.getDelegate();
    SessionFactory sessionFactory = session.getSessionFactory();

    Long maxRecord = sessionFactory.getCurrentSession().doReturningWork(maxReturningWork);
    return maxRecord;
}
 
源代码3 项目: pnc   文件: DefaultSequenceHandlerRepository.java
@Override
public void createSequence(final String sequenceName) {

    if (sequenceExists(sequenceName)) {
        return;
    }
    Work work = new Work() {
        @Override
        public void execute(Connection connection) throws SQLException {
            DialectResolver dialectResolver = new StandardDialectResolver();
            Dialect dialect = dialectResolver.resolveDialect(getResolutionInfo(connection));
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                preparedStatement = connection
                        .prepareStatement(dialect.getCreateSequenceStrings(sequenceName, 1, 1)[0]);
                preparedStatement.execute();
            } catch (SQLException e) {
                throw e;
            } finally {
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (resultSet != null) {
                    resultSet.close();
                }
            }

        }
    };

    Session session = (Session) entityManager.getDelegate();
    SessionFactory sessionFactory = session.getSessionFactory();
    sessionFactory.getCurrentSession().doWork(work);
}
 
源代码4 项目: pnc   文件: DefaultSequenceHandlerRepository.java
@Override
public boolean sequenceExists(final String sequenceName) {
    ReturningWork<Boolean> work = new ReturningWork<Boolean>() {
        @Override
        public Boolean execute(Connection connection) throws SQLException {
            DialectResolver dialectResolver = new StandardDialectResolver();
            Dialect dialect = dialectResolver.resolveDialect(getResolutionInfo(connection));
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                preparedStatement = connection.prepareStatement(dialect.getQuerySequencesString());
                resultSet = preparedStatement.executeQuery();
                while (resultSet.next()) {
                    if (sequenceName.equals(resultSet.getString(1))) {
                        return true;
                    }
                }
            } catch (SQLException e) {
                throw e;
            } finally {
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (resultSet != null) {
                    resultSet.close();
                }
            }
            return false;

        }
    };

    Session session = (Session) entityManager.getDelegate();
    SessionFactory sessionFactory = session.getSessionFactory();
    return sessionFactory.getCurrentSession().doReturningWork(work);
}
 
源代码5 项目: pnc   文件: DefaultSequenceHandlerRepository.java
@Override
public void dropSequence(final String sequenceName) {

    Work work = new Work() {
        @Override
        public void execute(Connection connection) throws SQLException {
            DialectResolver dialectResolver = new StandardDialectResolver();
            Dialect dialect = dialectResolver.resolveDialect(getResolutionInfo(connection));
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                preparedStatement = connection.prepareStatement(dialect.getDropSequenceStrings(sequenceName)[0]);
                preparedStatement.execute();
            } catch (SQLException e) {
                throw e;
            } finally {
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (resultSet != null) {
                    resultSet.close();
                }
            }

        }
    };

    Session session = (Session) entityManager.getDelegate();
    SessionFactory sessionFactory = session.getSessionFactory();
    sessionFactory.getCurrentSession().doWork(work);
}
 
源代码6 项目: pnc   文件: CacheHandlerTest.java
@Test
public void testMappedEntitiesStats() {

    Session session = (Session) em_1.getDelegate();
    SessionFactory sessionFactory = session.getSessionFactory();
    Statistics statistics = sessionFactory.getStatistics();

    // Initialize sample build configurations, these cannot be done by DBUnit because of the Hibernate Envers
    // Auditing
    insertExampleBuildConfigurations(em_1, basicRepositoryConfiguration);

    SortedMap<String, Map<String, HibernateMetric>> entitiesStatMap = getSecondLevelCacheEntitiesStats(statistics);
    logger.debug("All entities stats: {}", entitiesStatMap);

    String[] mappedEntities = {
            // ENTITY_STATS_PREFIX + "org.jboss.pnc.model.Artifact",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.BuildConfigSetRecord",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.BuildConfiguration",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.BuildConfigurationSet",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.BuildConfiguration_AUD",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.BuildEnvironment",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.BuildRecord",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.BuildRecordPushResult",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.Product",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.ProductMilestone",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.ProductMilestoneRelease",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.ProductRelease",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.ProductVersion",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.Project",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.RepositoryConfiguration",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.TargetRepository",
            ENTITY_STATS_PREFIX + "org.jboss.pnc.model.User",
            ENTITY_STATS_PREFIX + "build_configuration_parameters_AUD" };
    Set<String> mappedEntitiesSet = new HashSet<String>(Arrays.asList(mappedEntities));
    assertTrue(entitiesStatMap.keySet().containsAll(mappedEntitiesSet));
}
 
源代码7 项目: pnc   文件: CacheHandlerTest.java
@Test
public void testMappedSecondLevelCacheStats() {

    Session session = (Session) em_1.getDelegate();
    SessionFactory sessionFactory = session.getSessionFactory();
    Statistics statistics = sessionFactory.getStatistics();

    // Initialize sample build configurations, these cannot be done by DBUnit because of the Hibernate Envers
    // Auditing
    insertExampleBuildConfigurations(em_1, basicRepositoryConfiguration);

    SortedMap<String, Map<String, HibernateMetric>> secondLevelCacheStatMap = getSecondLevelCacheRegionsStats(
            statistics);
    logger.debug("All second level cache stats: {}", secondLevelCacheStatMap);

    String[] mappedEntities = {
            // REGION_STATS_PREFIX + "org.jboss.pnc.model.Artifact",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.BuildConfigSetRecord",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.BuildConfiguration",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.BuildConfigurationSet",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.BuildEnvironment",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.BuildRecord",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.BuildRecordPushResult",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.Product",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.ProductMilestone",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.ProductMilestoneRelease",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.ProductRelease",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.ProductVersion",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.Project",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.RepositoryConfiguration",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.TargetRepository",
            REGION_STATS_PREFIX + "org.jboss.pnc.model.User" };

    Set<String> mappedEntitiesSet = new HashSet<String>(Arrays.asList(mappedEntities));
    assertTrue(secondLevelCacheStatMap.keySet().containsAll(mappedEntitiesSet));
}
 
源代码8 项目: hibernate-ogm-ignite   文件: IgniteTestHelper.java
public static <K> Map<K, BinaryObject> find(Session session, Class<?> class1, @SuppressWarnings("unchecked") K... ids) {
	SessionFactory sessionFactory = session.getSessionFactory();
	return find( sessionFactory, class1, ids );
}
 
源代码9 项目: pnc   文件: CacheHandlerTest.java
@Test
public void testMappedCollectionsStats() {

    Session session = (Session) em_1.getDelegate();
    SessionFactory sessionFactory = session.getSessionFactory();
    Statistics statistics = sessionFactory.getStatistics();

    // Initialize sample build configurations, these cannot be done by DBUnit because of the Hibernate Envers
    // Auditing
    insertExampleBuildConfigurations(em_1, basicRepositoryConfiguration);

    SortedMap<String, Map<String, HibernateMetric>> collectionStatMap = getSecondLevelCacheCollectionsStats(
            statistics);
    logger.debug("All collection stats: {}", collectionStatMap);

    String[] mappedCollections = {
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildConfigurationSet.buildConfigurations",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildConfigSetRecord.buildRecords",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.ProductVersion.buildConfigurations",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildRecord.attributes",
            // COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.TargetRepository.artifacts",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildConfiguration.genericParameters",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.ProductMilestone.performedBuilds",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildConfiguration.dependants",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildRecord.dependencies",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.RepositoryConfiguration.buildConfigurations",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildConfiguration.dependencies",
            // COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.Artifact.distributedInProductMilestones",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.ProductVersion.attributes",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.User.buildRecords",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildEnvironment.attributes",
            // COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildRecord.builtArtifacts",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildConfigSetRecord.attributes",
            // COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.ProductMilestone.distributedArtifacts",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.Project.buildConfigurations",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.ProductVersion.buildConfigurationSets",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildRecord.buildRecordPushResults",
            // COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.Artifact.dependantBuildRecords",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.Product.productVersions",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.ProductVersion.productMilestones",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildConfiguration.buildConfigurationSets",
            COLLECTION_STATS_PREFIX + "org.jboss.pnc.model.BuildConfigurationSet.buildConfigSetRecords" };
    Set<String> mappedCollectionsSet = new HashSet<String>(Arrays.asList(mappedCollections));
    assertTrue(collectionStatMap.keySet().containsAll(mappedCollectionsSet));
}
 
源代码10 项目: pnc   文件: CacheHandlerTest.java
@Test
public void testFirstLevelCacheEviction() {

    // Session 3
    em_3 = getEmFactory().createEntityManager();
    Session session_3 = (Session) em_3.getDelegate();
    SessionFactory sessionFactory_3 = session_3.getSessionFactory();

    // Initialize sample build configurations, these cannot be done by DBUnit because of the Hibernate Envers
    // Auditing
    insertExampleBuildConfigurations(em_1, basicRepositoryConfiguration);

    BuildConfiguration buildConfig3 = BuildConfiguration.Builder.newBuilder()
            .id(3)
            .name("Test Build Configuration 3")
            .description("Test Build Configuration 3 Description")
            .project(Project.Builder.newBuilder().id(1).build())
            .repositoryConfiguration(basicRepositoryConfiguration)
            .buildScript("mvn install")
            .buildEnvironment(BuildEnvironment.Builder.newBuilder().id(1).build())
            .build();

    // Persist in Session 1
    em_1.getTransaction().begin();
    em_1.persist(buildConfig3);
    em_1.getTransaction().commit();

    Integer newBCId = buildConfig3.getId();

    // Entity is fetched very first time
    BuildConfiguration bc = (BuildConfiguration) session_3.load(BuildConfiguration.class, newBCId);

    SortedMap<String, HibernateMetric> genericStats = getGenericStats(sessionFactory_3.getStatistics());
    double entityFetchCount1 = Double
            .parseDouble(genericStats.get("hibernate-orm.entities.fetch.count").getValue());
    double secondLevelCacheHitCount1 = Double
            .parseDouble(genericStats.get("hibernate-orm.second-level-cache.hit.count").getValue());

    // fetch the BuildConfiguration entity again, no change in fetch count from 1st level cache nor access to 2nd
    // level
    // cache as there is no need for it
    bc = (BuildConfiguration) session_3.load(BuildConfiguration.class, newBCId);

    SortedMap<String, HibernateMetric> genericStats_2 = getGenericStats(sessionFactory_3.getStatistics());
    double entityFetchCount2 = Double
            .parseDouble(genericStats_2.get("hibernate-orm.entities.fetch.count").getValue());
    double secondLevelCacheHitCount2 = Double
            .parseDouble(genericStats_2.get("hibernate-orm.second-level-cache.hit.count").getValue());

    // No change in fetch from 1st and 2nd level caches
    assertEquals((int) entityFetchCount1, (int) entityFetchCount2);
    assertEquals((int) secondLevelCacheHitCount2, (int) secondLevelCacheHitCount2);

    // Evict from first level cache
    session_3.evict(bc);

    // fetch one more time
    bc = (BuildConfiguration) session_3.load(BuildConfiguration.class, newBCId);

    SortedMap<String, HibernateMetric> genericStats_3 = getGenericStats(sessionFactory_3.getStatistics());
    double entityFetchCount3 = Double
            .parseDouble(genericStats_3.get("hibernate-orm.entities.fetch.count").getValue());
    double secondLevelCacheHitCount3 = Double
            .parseDouble(genericStats_3.get("hibernate-orm.second-level-cache.hit.count").getValue());

    // No change in fetch from 1st level cache as entity is not there anymore
    assertEquals((int) entityFetchCount2, (int) entityFetchCount3);
    // Change in fetch from 2nd level cache: the entity is not in 1st level cache anymore, so Hibernate gets it from
    // 2nd
    // level
    assertNotEquals(secondLevelCacheHitCount2, secondLevelCacheHitCount3);

    logger.debug(
            "Entity fetch count #1: {}, #2: {}, #3: {}",
            entityFetchCount1,
            entityFetchCount2,
            entityFetchCount3);
    logger.debug(
            "Second level cache hit count #1: {}, #2: {}, #3: {}",
            secondLevelCacheHitCount1,
            secondLevelCacheHitCount2,
            secondLevelCacheHitCount3);
}