private QueryMethod chooseQueryMethodStrategy( Method method, RepositoryMetadata metadata, Class<?> repositoryInterface) { QueryMethod queryMethod; boolean paramAnnotation = false; if ((paramAnnotation = hasParamAnnotation(method)) || repositoryInterface.isAnnotationPresent(Namespace.class) || method.isAnnotationPresent(Statement.class)) { queryMethod = new AnnotationBasedSqlMapQueryMethod(method, metadata, paramAnnotation); } else { queryMethod = new QueryMethod(method, metadata); } return queryMethod; }