@Override protected void initQueryFromNamedDefinition(Query query, NamedQueryDefinition namedQueryDefinition) { super.initQueryFromNamedDefinition( query, namedQueryDefinition ); if ( namedQueryDefinition.getLockOptions() != null ) { if ( namedQueryDefinition.getLockOptions().getLockMode() != null ) { query.setLockMode( LockModeTypeHelper.getLockModeType( namedQueryDefinition.getLockOptions().getLockMode() ) ); } } }
protected QueryImplementor createQuery(NamedQueryDefinition queryDefinition) { String queryString = queryDefinition.getQueryString(); final QueryImpl query = new QueryImpl( this, getQueryPlan( queryString, false ).getParameterMetadata(), queryString ); query.setHibernateFlushMode( queryDefinition.getFlushMode() ); query.setComment( queryDefinition.getComment() != null ? queryDefinition.getComment() : queryDefinition.getName() ); if ( queryDefinition.getLockOptions() != null ) { query.setLockOptions( queryDefinition.getLockOptions() ); } initQueryFromNamedDefinition( query, queryDefinition ); // applyQuerySettingsAndHints( query ); return query; }
public NamedQueryDefinition makeCopy(String name) { return new NamedQueryDefinition( name, getQuery(), isCacheable(), getCacheRegion(), getTimeout(), getLockOptions(), getFetchSize(), getFlushMode(), getCacheMode(), isReadOnly(), getComment(), getParameterTypes(), getFirstResult(), getMaxResults() ); } }
@SuppressWarnings("unchecked") protected static XQuery createQuery( XSessionImplementor sessionProxy, NamedQueryDefinition namedQueryDefinition) throws HibernateException { String queryString = namedQueryDefinition.getQueryString(); XQueryPlan xQueryPlan = (XQueryPlan) sessionProxy .getFactory() .getQueryPlanCache() .getHQLQueryPlan(queryString, false, sessionProxy.getRawSessionImpl().getEnabledFilters() ); XQuery query = new XQueryImpl( queryString, namedQueryDefinition.getFlushMode(), sessionProxy, xQueryPlan.getParameterMetadata() ); query.setComment( "named HQL query " + namedQueryDefinition.getName() ); if ( namedQueryDefinition.getLockOptions() != null ) { query.setLockOptions( namedQueryDefinition.getLockOptions() ); } return query; }