本文整理汇总了Java中org.springframework.data.projection.ProjectionFactory类的典型用法代码示例。如果您正苦于以下问题:Java ProjectionFactory类的具体用法?Java ProjectionFactory怎么用?Java ProjectionFactory使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ProjectionFactory类属于org.springframework.data.projection包,在下文中一共展示了ProjectionFactory类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: JdbcTemplateQueryMethod
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
JdbcTemplateQueryMethod(Method method, RepositoryMetadata metadata, ProjectionFactory factory) {
super(method, metadata, factory);
Query query = method.getAnnotation(Query.class);
if (query == null) {
this.query = null;
} else {
this.query = query.value();
}
this.singleColumn = method.getAnnotation(SingleColumn.class) != null;
Mapper mapperOnMethod = method.getAnnotation(Mapper.class);
Mapper mapperOnInterface = metadata.getRepositoryInterface().getAnnotation(Mapper.class);
if (mapperOnMethod != null) {
this.mapperClass = mapperOnMethod.value();
} else if (mapperOnInterface != null) {
this.mapperClass = mapperOnInterface.value();
} else {
this.mapperClass = null;
}
this.method = method;
}
示例2: resolveQuery
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public RepositoryQuery resolveQuery(Method method, RepositoryMetadata metadata, ProjectionFactory factory,
NamedQueries namedQueries) {
QueryMethod queryMethod = new QueryMethod(method, metadata, factory);
Constructor<? extends KeyValuePartTreeQuery> constructor = (Constructor<? extends KeyValuePartTreeQuery>) ClassUtils
.getConstructorIfAvailable(this.repositoryQueryType, QueryMethod.class, EvaluationContextProvider.class,
KeyValueOperations.class, Class.class);
Assert.state(constructor != null,
String.format(
"Constructor %s(QueryMethod, EvaluationContextProvider, KeyValueOperations, Class) not available!",
ClassUtils.getShortName(this.repositoryQueryType)));
return BeanUtils.instantiateClass(constructor, queryMethod, evaluationContextProvider, this.keyValueOperations,
this.queryCreator);
}
示例3: resolveQuery
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
@Override
public RepositoryQuery resolveQuery(Method method, RepositoryMetadata metadata,
ProjectionFactory factory, NamedQueries namedQueries) {
final DocumentDbQueryMethod queryMethod = new DocumentDbQueryMethod(method, metadata, factory);
Assert.notNull(queryMethod, "queryMethod must not be null!");
Assert.notNull(dbOperations, "dbOperations must not be null!");
return new PartTreeDocumentDbQuery(queryMethod, dbOperations);
}
示例4: resolveQuery
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
@Override
public RepositoryQuery resolveQuery(Method method, RepositoryMetadata repositoryMetadata, ProjectionFactory projectionFactory, NamedQueries namedQueries) {
if (method.getAnnotation(MybatisQuery.class) != null) {
log.info(repositoryMetadata.getRepositoryInterface().getName()+"."+method.getName()+" 为mybatis方法。 ");
return new MybatisRepositoryQuery(sqlSessionTemplate , method , repositoryMetadata) ;
} else {
return jpaQueryLookupStrategy.resolveQuery(method, repositoryMetadata, projectionFactory,namedQueries);
}
}
示例5: resolveQuery
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
@Override
public RepositoryQuery resolveQuery(Method method, RepositoryMetadata metadata, ProjectionFactory factory, NamedQueries namedQueries) {
SnowdropQueryMethod queryMethod = new SnowdropQueryMethod(method, metadata, factory);
String namedQueryName = queryMethod.getNamedQueryName();
if (namedQueries.hasQuery(namedQueryName)) {
String namedQuery = namedQueries.getQuery(namedQueryName);
return new SnowdropStringQuery(queryMethod, snowdropOperations, namedQuery);
} else if (queryMethod.hasAnnotatedQuery()) {
return new SnowdropStringQuery(queryMethod, snowdropOperations, queryMethod.getAnnotatedQuery());
}
return new SnowdropPartQuery(queryMethod, snowdropOperations);
}
示例6: resolveQuery
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
@Override
public RepositoryQuery resolveQuery(Method method, RepositoryMetadata metadata, ProjectionFactory factory,
NamedQueries namedQueries) {
QueryMethod queryMethod = new QueryMethod(method, metadata, factory);
return new ObjectifyRepositoryQuery(queryMethod);
}
示例7: EbeanQueryMethod
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
/**
* Creates a {@link EbeanQueryMethod}.
*
* @param method must not be {@literal null}
* @param metadata must not be {@literal null}
*/
public EbeanQueryMethod(Method method, RepositoryMetadata metadata, ProjectionFactory factory) {
super(method, metadata, factory);
Assert.notNull(method, "Method must not be null!");
this.method = method;
}
示例8: resolveQuery
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
@Override
public RepositoryQuery resolveQuery(Method method, RepositoryMetadata metadata, ProjectionFactory factory,
NamedQueries namedQueries) {
if (method.getAnnotation(TemplateQuery.class) == null) {
return jpaQueryLookupStrategy.resolveQuery(method, metadata, factory, namedQueries);
}
else {
return new FreemarkerTemplateQuery(new JpaQueryMethod(method, metadata, factory, extractor), entityManager);
}
}
示例9: AggregateMongoQuery
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
/**
* Creates a new {@link AbstractMongoQuery} from the given {@link MongoQueryMethod} and {@link MongoOperations}.
*
* @param method must not be {@literal null}.
* @param projectionFactory - the projection factory
*/
@Autowired
public AggregateMongoQuery(Method method, RepositoryMetadata metadata, MongoOperations mongoOperations,
ProjectionFactory projectionFactory, MongoQueryExecutor queryExecutor) {
super(new MongoQueryMethod(method, metadata, projectionFactory, mongoOperations.getConverter().getMappingContext()),
mongoOperations);
this.mongoOperations = mongoOperations;
this.method = method;
this.queryExecutor = queryExecutor;
}
示例10: resolveQuery
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
@Override
public RepositoryQuery resolveQuery(Method method, RepositoryMetadata repositoryMetadata,
ProjectionFactory projectionFactory, NamedQueries namedQueries) {
if (!isAggregateQueryAnnotated(method)) {
return parentQueryLookupStrategy.resolveQuery(method, repositoryMetadata, projectionFactory, namedQueries);
}
else {
return new AggregateMongoQuery(method, repositoryMetadata, mongoOperations, projectionFactory, queryExecutor);
}
}
开发者ID:krraghavan,项目名称:mongodb-aggregate-query-support,代码行数:11,代码来源:AggregateQuerySupportingRepositoryFactory.java
示例11: testCreateAggregateQuery
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
@Test(dataProvider = "queryMethods", expectedExceptions = {NullPointerException.class, IllegalArgumentException.class})
public void testCreateAggregateQuery(String methodName) throws Exception {
AggregateQuerySupportingRepositoryFactory factory = new AggregateQuerySupportingRepositoryFactory(mongoOperations,
queryExecutor);
QueryLookupStrategy lookupStrategy = factory.getQueryLookupStrategy(CREATE_IF_NOT_FOUND, evaluationContextProvider);
Method method = TestAggregateRepository22.class.getMethod(methodName);
RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(TestAggregateRepository22.class);
ProjectionFactory projectionFactory = new SpelAwareProxyProjectionFactory();
RepositoryQuery query = lookupStrategy.resolveQuery(method, repositoryMetadata, projectionFactory, null);
assertNotNull(query);
Object object = query.execute(new Object[0]);
assertNull(object);
}
示例12: resolveQuery
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
/**
* @since Spring data JPA 1.10.0
*/
public RepositoryQuery resolveQuery(Method method, RepositoryMetadata metadata,
ProjectionFactory factory, NamedQueries namedQueries) {
QueryLookupStrategy queryLookupStrategy =
Factory.super.getQueryLookupStrategy(key, evaluationContextProvider);
RepositoryQuery query = queryLookupStrategy.resolveQuery(method, metadata, factory, namedQueries);
return wrapQuery(method, metadata, query);
}
示例13: IgniteRepositoryQuery
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
/**
* @param metadata Metadata.
* @param qry Query.
* @param mtd Method.
* @param factory Factory.
* @param cache Cache.
*/
public IgniteRepositoryQuery(RepositoryMetadata metadata, IgniteQuery qry,
Method mtd, ProjectionFactory factory, IgniteCache cache) {
type = metadata.getDomainType();
this.qry = qry;
this.cache = cache;
this.metadata = metadata;
this.mtd = mtd;
this.factory = factory;
returnStgy = calcReturnType(mtd, qry.isFieldQuery());
}
示例14: getQueryLookupStrategy
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
/** {@inheritDoc} */
@Override protected QueryLookupStrategy getQueryLookupStrategy(final QueryLookupStrategy.Key key,
EvaluationContextProvider evaluationCtxProvider) {
return new QueryLookupStrategy() {
@Override public RepositoryQuery resolveQuery(final Method mtd, final RepositoryMetadata metadata,
final ProjectionFactory factory, NamedQueries namedQueries) {
final Query annotation = mtd.getAnnotation(Query.class);
if (annotation != null) {
String qryStr = annotation.value();
if (key != Key.CREATE && StringUtils.hasText(qryStr))
return new IgniteRepositoryQuery(metadata,
new IgniteQuery(qryStr, isFieldQuery(qryStr), IgniteQueryGenerator.getOptions(mtd)),
mtd, factory, ignite.getOrCreateCache(repoToCache.get(metadata.getRepositoryInterface())));
}
if (key == QueryLookupStrategy.Key.USE_DECLARED_QUERY)
throw new IllegalStateException("To use QueryLookupStrategy.Key.USE_DECLARED_QUERY, pass " +
"a query string via org.apache.ignite.springdata.repository.config.Query annotation.");
return new IgniteRepositoryQuery(metadata, IgniteQueryGenerator.generateSql(mtd, metadata), mtd,
factory, ignite.getOrCreateCache(repoToCache.get(metadata.getRepositoryInterface())));
}
};
}
示例15: GqQueryMethod
import org.springframework.data.projection.ProjectionFactory; //导入依赖的package包/类
/**
* Creates a {@link JpaQueryMethod}.
*
* @param method
* must not be {@literal null}
* @param extractor
* must not be {@literal null}
* @param metadata
* must not be {@literal null}
*/
public GqQueryMethod(Method method, RepositoryMetadata metadata, ProjectionFactory factory, JefEntityManagerFactory emf) {
super(method, metadata, factory);
Assert.notNull(method, "Method must not be null!");
this.method = method;
this.emf = emf;
Assert.isTrue(!(isModifyingQuery() && getParameters().hasSpecialParameter()), String.format("Modifying method must not contain %s!", Parameters.TYPES));
assertParameterNamesInAnnotatedQuery();
}