List of usage examples for org.hibernate.internal CriteriaImpl getSession
public SharedSessionContractImplementor getSession()
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 w w . ja v a2 s . com * @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.series.db.DataModelUtil.java
License:Open Source License
private static SessionImplementor getSessionImplementor(Criteria criteria) { SessionImplementor session = null;/*from w w w .ja va 2 s .co m*/ if (criteria instanceof CriteriaImpl) { session = ((CriteriaImpl) criteria).getSession(); // ugly! } else if (criteria instanceof CriteriaImpl.Subcriteria) { CriteriaImpl temp = (CriteriaImpl) ((CriteriaImpl.Subcriteria) criteria).getParent(); session = temp.getSession(); } return session; }
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 w w. j av a 2 s .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;/*from w w w.j a v a2 s . co m*/ }