Example usage for org.hibernate.loader.criteria CriteriaJoinWalker CriteriaJoinWalker

List of usage examples for org.hibernate.loader.criteria CriteriaJoinWalker CriteriaJoinWalker

Introduction

In this page you can find the example usage for org.hibernate.loader.criteria CriteriaJoinWalker CriteriaJoinWalker.

Prototype

public CriteriaJoinWalker(final OuterJoinLoadable persister, final CriteriaQueryTranslator translator,
            final SessionFactoryImplementor factory, final CriteriaImpl criteria, final String rootEntityName,
            final LoadQueryInfluencers loadQueryInfluencers) 

Source Link

Usage

From source file:com.qcadoo.model.internal.HibernateServiceImpl.java

License:Open Source License

@Override
public int getTotalNumberOfEntities(final Criteria criteria) {
    final CriteriaImpl criteriaImpl = (CriteriaImpl) criteria;
    final SessionImplementor session = (SessionImplementor) getCurrentSession();
    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());

    final String sql = "select count(*) as cnt from (" + walker.getSQLString() + ") sq";

    getCurrentSession().flush(); // is this safe?

    return ((Number) getCurrentSession().createSQLQuery(sql)
            .setParameters(translator.getQueryParameters().getPositionalParameterValues(),
                    translator.getQueryParameters().getPositionalParameterTypes())
            .uniqueResult()).intValue();
}

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/*from w ww.  j  a va  2  s . c  o  m*/
 *            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;/*from  w  w w .  ja  va  2  s.c o  m*/
}