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

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

Introduction

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

Prototype

@Deprecated
default String[] getImplementors(String entityName) 

Source Link

Document

Get the names of all persistent classes that implement/extend the given interface/class

Usage

From source file:com.evolveum.midpoint.repo.sql.util.HibernateToSqlTranslator.java

License:Apache License

/**
 * Do not use in production code! Only for testing purposes only. Used for example during query engine upgrade.
 * Method provides translation from hibernate {@link Criteria} to plain SQL string query.
 *
 * @param criteria/*from w ww  .  j  ava 2s  .  co  m*/
 * @return SQL string, null if criteria parameter was null.
 */
public static String toSql(Criteria criteria) {
    if (criteria == null) {
        return null;
    }

    try {
        CriteriaImpl c;
        if (criteria instanceof CriteriaImpl) {
            c = (CriteriaImpl) criteria;
        } else {
            CriteriaImpl.Subcriteria subcriteria = (CriteriaImpl.Subcriteria) criteria;
            c = (CriteriaImpl) subcriteria.getParent();
        }
        SessionImpl s = (SessionImpl) c.getSession();
        SessionFactoryImplementor factory = s.getSessionFactory();
        String[] implementors = factory.getImplementors(c.getEntityOrClassName());
        CriteriaLoader loader = new CriteriaLoader(
                (OuterJoinLoadable) factory.getEntityPersister(implementors[0]), factory, c, implementors[0],
                s.getLoadQueryInfluencers());
        Field f = OuterJoinLoader.class.getDeclaredField("sql");
        f.setAccessible(true);
        return (String) f.get(loader);
    } catch (Exception ex) {
        throw new SystemException(ex.getMessage(), ex);
    }
}

From source file:org.n52.series.db.DataModelUtil.java

License:Open Source License

public static String getSqlString(Criteria criteria) {
    CriteriaImpl criteriaImpl = (CriteriaImpl) criteria;
    SessionImplementor session = criteriaImpl.getSession();
    SessionFactoryImplementor factory = extractSessionFactory(criteria);
    CriteriaQueryTranslator translator = new CriteriaQueryTranslator(factory, criteriaImpl,
            criteriaImpl.getEntityOrClassName(), CriteriaQueryTranslator.ROOT_SQL_ALIAS);
    String[] implementors = factory.getImplementors(criteriaImpl.getEntityOrClassName());

    CriteriaJoinWalker walker = new CriteriaJoinWalker(
            (OuterJoinLoadable) factory.getEntityPersister(implementors[0]), translator, factory, criteriaImpl,
            criteriaImpl.getEntityOrClassName(), session.getLoadQueryInfluencers());

    return walker.getSQLString();
}

From source file:org.n52.sos.ds.hibernate.util.HibernateHelper.java

License:Open Source License

/**
 * Get the SQL query string from Criteria.
 *
 * @param criteria/* w w w. ja v a 2s. com*/
 *            Criteria to get SQL query string from
 * @return SQL query string from criteria
 */
public static String getSqlString(Criteria criteria) {
    CriteriaImpl criteriaImpl = (CriteriaImpl) criteria;
    SessionImplementor session = criteriaImpl.getSession();
    SessionFactoryImplementor factory = session.getFactory();
    CriteriaQueryTranslator translator = new CriteriaQueryTranslator(factory, criteriaImpl,
            criteriaImpl.getEntityOrClassName(), CriteriaQueryTranslator.ROOT_SQL_ALIAS);
    String[] implementors = factory.getImplementors(criteriaImpl.getEntityOrClassName());

    CriteriaJoinWalker walker = new CriteriaJoinWalker(
            (OuterJoinLoadable) factory.getEntityPersister(implementors[0]), translator, factory, criteriaImpl,
            criteriaImpl.getEntityOrClassName(), session.getLoadQueryInfluencers());

    return walker.getSQLString();
}

From source file:support.SqlUtils.java

public static String getSql(Criteria criteria) {
    CriteriaImpl criteriaImpl = (CriteriaImpl) criteria;
    SessionImplementor session = criteriaImpl.getSession();
    SessionFactoryImplementor factory = session.getFactory();
    CriteriaQueryTranslator translator = new CriteriaQueryTranslator(factory, criteriaImpl,
            criteriaImpl.getEntityOrClassName(), CriteriaQueryTranslator.ROOT_SQL_ALIAS);
    String[] implementors = factory.getImplementors(criteriaImpl.getEntityOrClassName());

    CriteriaJoinWalker walker = new CriteriaJoinWalker(
            (OuterJoinLoadable) factory.getEntityPersister(implementors[0]), translator, factory, criteriaImpl,
            criteriaImpl.getEntityOrClassName(), session.getLoadQueryInfluencers());

    String sql = walker.getSQLString();
    return sql;//w  w w. ja  va2  s  .  c  o  m
}