@Override public ParameterMetadataImpl getParameterMetadata(String nativeQuery) { final ParamLocationRecognizer recognizer = ParamLocationRecognizer.parseLocations( nativeQuery, sessionFactory ); return new ParameterMetadataImpl( recognizer.getOrdinalParameterDescriptionMap(), recognizer.getNamedParameterDescriptionMap() ); }
@SuppressWarnings({ "UnnecessaryUnboxing" }) private ParameterMetadata buildNativeSQLParameterMetadata(String sqlString) { ParamLocationRecognizer recognizer = ParamLocationRecognizer.parseLocations( sqlString ); OrdinalParameterDescriptor[] ordinalDescriptors = new OrdinalParameterDescriptor[ recognizer.getOrdinalParameterLocationList().size() ]; for ( int i = 0; i < recognizer.getOrdinalParameterLocationList().size(); i++ ) { final Integer position = ( Integer ) recognizer.getOrdinalParameterLocationList().get( i ); ordinalDescriptors[i] = new OrdinalParameterDescriptor( i, null, position.intValue() ); } Iterator itr = recognizer.getNamedParameterDescriptionMap().entrySet().iterator(); Map<String,NamedParameterDescriptor> namedParamDescriptorMap = new HashMap<String,NamedParameterDescriptor>(); while( itr.hasNext() ) { final Map.Entry entry = ( Map.Entry ) itr.next(); final String name = ( String ) entry.getKey(); final ParamLocationRecognizer.NamedParameterDescription description = ( ParamLocationRecognizer.NamedParameterDescription ) entry.getValue(); namedParamDescriptorMap.put( name , new NamedParameterDescriptor( name, null, description.buildPositionsArray(), description.isJpaStyle() ) ); } return new ParameterMetadata( ordinalDescriptors, namedParamDescriptorMap ); }
@SuppressWarnings({ "UnnecessaryUnboxing" }) private ParameterMetadata buildNativeSQLParameterMetadata(String sqlString) { ParamLocationRecognizer recognizer = ParamLocationRecognizer.parseLocations( sqlString ); OrdinalParameterDescriptor[] ordinalDescriptors = new OrdinalParameterDescriptor[ recognizer.getOrdinalParameterLocationList().size() ]; for ( int i = 0; i < recognizer.getOrdinalParameterLocationList().size(); i++ ) { final Integer position = ( Integer ) recognizer.getOrdinalParameterLocationList().get( i ); ordinalDescriptors[i] = new OrdinalParameterDescriptor( i, null, position.intValue() ); } Iterator itr = recognizer.getNamedParameterDescriptionMap().entrySet().iterator(); Map<String,NamedParameterDescriptor> namedParamDescriptorMap = new HashMap<String,NamedParameterDescriptor>(); while( itr.hasNext() ) { final Map.Entry entry = ( Map.Entry ) itr.next(); final String name = ( String ) entry.getKey(); final ParamLocationRecognizer.NamedParameterDescription description = ( ParamLocationRecognizer.NamedParameterDescription ) entry.getValue(); namedParamDescriptorMap.put( name , new NamedParameterDescriptor( name, null, description.buildPositionsArray(), description.isJpaStyle() ) ); } return new ParameterMetadata( ordinalDescriptors, namedParamDescriptorMap ); }
private ParameterMetadata buildParameterMetadata(ParameterTranslations parameterTranslations, String hql) { long start = System.currentTimeMillis(); ParamLocationRecognizer recognizer = ParamLocationRecognizer.parseLocations( hql ); long end = System.currentTimeMillis(); LOG.tracev( "HQL param location recognition took {0} mills ({1})", ( end - start ), hql );
private ParameterMetadata buildParameterMetadata(ParameterTranslations parameterTranslations, String hql) { long start = System.currentTimeMillis(); ParamLocationRecognizer recognizer = ParamLocationRecognizer.parseLocations( hql ); long end = System.currentTimeMillis(); LOG.tracev( "HQL param location recognition took {0} mills ({1})", ( end - start ), hql );