• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java QueryHints类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.eclipse.persistence.config.QueryHints的典型用法代码示例。如果您正苦于以下问题:Java QueryHints类的具体用法?Java QueryHints怎么用?Java QueryHints使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



QueryHints类属于org.eclipse.persistence.config包,在下文中一共展示了QueryHints类的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: findAll

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
@Override
public FindOIDsResult<O> findAll(final UserContext userContext) {
	CriteriaBuilder builder = _entityManager.getCriteriaBuilder();
	
	// use projections to return ONLY the oid (see http://stackoverflow.com/questions/12618489/jpa-criteria-api-select-only-specific-columns)
	CriteriaQuery<Tuple> query = builder.createTupleQuery();
	Root<DB> root = query.from(_DBEntityType);
	if (Facetables.hasFacet(_modelObjectType,HasVersionableFacet.class)) {
		query.multiselect(root.get("_oid"),
						  root.get("_version"));
	} else {
		query.multiselect(root.get("_oid"));
	}
	List<Tuple> tupleResult = _entityManager.createQuery(query)
													.setHint(QueryHints.READ_ONLY,HintValues.TRUE)
										    .getResultList();
	FindOIDsResult<O> outOids = _buildResultsFromOids(userContext,
													  tupleResult);
	return outOids;
}
 
开发者ID:opendata-euskadi,项目名称:r01fb,代码行数:21,代码来源:DBFindForModelObjectBase.java


示例2: test

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
@Test
public void test() {
    Query query = entityManager.createQuery("select p from Password p");
    query.setHint(QueryHints.LEFT_FETCH, "p.normalUser.employmentContacts");

    Field f = ReflectionUtils.findField(((EJBQueryImpl) query).getDatabaseQuery().getClass(), "joinedAttributeManager");
    f.setAccessible(true);
    JoinedAttributeManager old = (JoinedAttributeManager) ReflectionUtils.getField(f, ((EJBQueryImpl) query).getDatabaseQuery());
    FixedJoinerAttributeManager newManager = new FixedJoinerAttributeManager(old.getDescriptor(), old.getBaseExpressionBuilder(), old.getBaseQuery());
    newManager.copyFrom(old);

    ReflectionUtils.setField(f, ((EJBQueryImpl) query).getDatabaseQuery(), newManager);

    query.setMaxResults(1);

    List<Password> passwords = query.getResultList();

    Assert.assertFalse(passwords.isEmpty());

    for (Password password : passwords) {
        Assert.assertTrue(Persistence.getPersistenceUtil().isLoaded(password, "normalUser"));
        Assert.assertTrue(Persistence.getPersistenceUtil().isLoaded(password.getNormalUser(), "employmentContacts"));
    }
}
 
开发者ID:encircled,项目名称:Joiner,代码行数:25,代码来源:InheritanceJoiningCustomizerTest.java


示例3: testNestedAssociationOnChildFetched

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
@Test
public void testNestedAssociationOnChildFetched() {
    Query query = entityManager.createQuery("select u from User u left join treat (u.contacts as Phone) p left join fetch p.statuses s");
    query.setHint(QueryHints.LEFT_FETCH, "u.contacts.statuses");
    List<User> users = query.getResultList();

    boolean hasStatus = false;

    Assert.assertFalse(users.isEmpty());
    for (User user : users) {
        Assert.assertTrue(Persistence.getPersistenceUtil().isLoaded(user, "contacts"));
        for (Contact contact : user.getContacts()) {
            Assert.assertTrue(Persistence.getPersistenceUtil().isLoaded(contact, "statuses"));
            if (contact instanceof Phone) {
                if (!((Phone) contact).getStatuses().isEmpty()) {
                    hasStatus = true;
                }
            }
        }
    }

    Assert.assertTrue(hasStatus);
}
 
开发者ID:encircled,项目名称:Joiner,代码行数:24,代码来源:InheritanceJoiningCustomizerTest.java


示例4: addView

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
public void addView(JpaQuery query, String queryString, View view, boolean singleResultExpected) {
    Preconditions.checkNotNullArgument(query, "query is null");
    Preconditions.checkNotNullArgument(view, "view is null");

    Map<String, Object> hints = query.getHints();
    AttributeGroup ag = null;
    if (view.loadPartialEntities()) {
        if (hints != null)
            ag = (FetchGroup) hints.get(QueryHints.FETCH_GROUP);
        if (ag == null)
            ag = new FetchGroup();
    } else {
        if (hints != null)
            ag = (LoadGroup) hints.get(QueryHints.LOAD_GROUP);
        if (ag == null)
            ag = new LoadGroup();
    }

    applyView(query, queryString, ag, view, singleResultExpected);
}
 
开发者ID:cuba-platform,项目名称:cuba,代码行数:21,代码来源:FetchGroupManager.java


示例5: findByCreateDate

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
@Override
public FindOIDsResult<O> findByCreateDate(final UserContext userContext,
										  final Range<Date> createDate) {
	CriteriaBuilder builder = _entityManager.getCriteriaBuilder();
	
	// use projections to return ONLY the oid (see http://stackoverflow.com/questions/12618489/jpa-criteria-api-select-only-specific-columns)
	CriteriaQuery<Tuple> query = builder.createTupleQuery();
	Root<DB> root = query.from(_DBEntityType);
	if (Facetables.hasFacet(_modelObjectType,HasVersionableFacet.class)) {
		query.multiselect(root.get("_oid"),
						  root.get("_version"));
	} else {
		query.multiselect(root.get("_oid"));
	}
	Predicate where = _buildDateRangePredicate(builder,root,"_createDate",
											   createDate);
	if (where != null) query.where(where);
	List<Tuple> tupleResult = _entityManager.createQuery(query)
													.setHint(QueryHints.READ_ONLY,HintValues.TRUE)
										    .getResultList();
	FindOIDsResult<O> outOids = _buildResultsFromOids(userContext,
													  tupleResult);
	return outOids;
}
 
开发者ID:opendata-euskadi,项目名称:r01fb,代码行数:25,代码来源:DBFindForModelObjectBase.java


示例6: findByLastUpdateDate

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
@Override
public FindOIDsResult<O> findByLastUpdateDate(final UserContext userContext,
											  final Range<Date> lastUpdateDate) {
	CriteriaBuilder builder = _entityManager.getCriteriaBuilder();
	
	// use projections to return ONLY the oid (see http://stackoverflow.com/questions/12618489/jpa-criteria-api-select-only-specific-columns)
	CriteriaQuery<Tuple> query = builder.createTupleQuery();
	Root<DB> root = query.from(_DBEntityType);
	if (Facetables.hasFacet(_modelObjectType,HasVersionableFacet.class)) {
		query.multiselect(root.get("_oid"),
						  root.get("_version"));
	} else {
		query.multiselect(root.get("_oid"));
	}
	Predicate where = _buildDateRangePredicate(builder,root,"_lastUpdateDate",
											   lastUpdateDate);
	if (where != null) query.where(where);
	List<Tuple> tupleResult = _entityManager.createQuery(query)
													.setHint(QueryHints.READ_ONLY,HintValues.TRUE)
										    .getResultList();
	FindOIDsResult<O> outOids = _buildResultsFromOids(userContext,
													  tupleResult);
	return outOids;
}
 
开发者ID:opendata-euskadi,项目名称:r01fb,代码行数:25,代码来源:DBFindForModelObjectBase.java


示例7: findByCreator

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
@Override
public FindOIDsResult<O> findByCreator(final UserContext userContext,
									   final UserCode creatorUserCode) {
	CriteriaBuilder builder = _entityManager.getCriteriaBuilder();
	
	// use projections to return ONLY the oid (see http://stackoverflow.com/questions/12618489/jpa-criteria-api-select-only-specific-columns)
	CriteriaQuery<Tuple> query = builder.createTupleQuery();
	Root<DB> root = query.from(_DBEntityType);
	if (Facetables.hasFacet(_modelObjectType,HasVersionableFacet.class)) {
		query.multiselect(root.get("_oid"),
						  root.get("_version"));
	} else {
		query.multiselect(root.get("_oid"));
	}
	Predicate where = _buildUserPredicate(builder,root,"_creator",
										  creatorUserCode);
	if (where != null) query.where(where);
	List<Tuple> tupleResult = _entityManager.createQuery(query)
													.setHint(QueryHints.READ_ONLY,HintValues.TRUE)
										    .getResultList();
	FindOIDsResult<O> outOids = _buildResultsFromOids(userContext,
													  tupleResult);
	return outOids;
}
 
开发者ID:opendata-euskadi,项目名称:r01fb,代码行数:25,代码来源:DBFindForModelObjectBase.java


示例8: findByLastUpdator

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
@Override
public FindOIDsResult<O> findByLastUpdator(final UserContext userContext,
										   final UserCode lastUpdatorUserCode) {
	CriteriaBuilder builder = _entityManager.getCriteriaBuilder();
	
	// use projections to return ONLY the oid (see http://stackoverflow.com/questions/12618489/jpa-criteria-api-select-only-specific-columns)
	CriteriaQuery<Tuple> query = builder.createTupleQuery();
	Root<DB> root = query.from(_DBEntityType);
	if (Facetables.hasFacet(_modelObjectType,HasVersionableFacet.class)) {
		query.multiselect(root.get("_oid"),
						  root.get("_version"));
	} else {
		query.multiselect(root.get("_oid"));
	}
	Predicate where = _buildUserPredicate(builder,root,"_lastUpdator",
										  lastUpdatorUserCode);
	if (where != null) query.where(where);
	List<Tuple> tupleResult = _entityManager.createQuery(query)
													.setHint(QueryHints.READ_ONLY,HintValues.TRUE)
										    .getResultList();
	FindOIDsResult<O> outOids = _buildResultsFromOids(userContext,
													  tupleResult);
	return outOids;
}
 
开发者ID:opendata-euskadi,项目名称:r01fb,代码行数:25,代码来源:DBFindForModelObjectBase.java


示例9: findByData

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
/**
 * Return the vertex with the given data.
 */
public synchronized Vertex findByData(Object data) {
	if (data == null) {
		return null;
	}
	Vertex vertex = this.verticesByData.get(data);
	if (vertex != null) {
		return vertex;
	}
	Query query = getEntityManager().createNamedQuery("findVertexByData");
	query.setHint(QueryHints.READ_ONLY, true);
	query.setParameter("data", BasicVertex.convertDataValue(data));
	query.setParameter("type", BasicVertex.convertDataType(data));
	try {
		vertex = (Vertex)query.getSingleResult();
		if (this.verticesByData.size() < MAX_SIZE) {
			this.verticesByData.put(vertex.getData(), vertex);
		}
		return vertex;
	} catch (NoResultException notFound) {
		return null;
	}
}
 
开发者ID:BotLibre,项目名称:BotLibre,代码行数:26,代码来源:DatabaseReadOnlyNetwork.java


示例10: count

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
/**
 *
 * @return
 */
public Long count() {
    EntityManager em = getEntityManager();
    try {
        CriteriaQuery cq = createCriteriaQuery();
        Root<T> root = cq.from(entityBeanType);
        Predicate predicate = createPredicate(root);
        if (predicate == null) {
            cq.select(getCriteriaBuilder().count(root));
        } else {
            cq.select(getCriteriaBuilder().count(root)).where(predicate);
        }
        Query q = em.createQuery(cq);
        q.setHint(QueryHints.REFRESH, HintValues.TRUE);
        Long retorno = ((Long) q.getSingleResult()).longValue();
        return retorno;
    } finally {
        closeIfNeeded(em);
    }
}
 
开发者ID:Godesk,项目名称:JPAUtils,代码行数:24,代码来源:EasyCriteriaQuery.java


示例11: hasNext

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
@Override
public boolean hasNext() {
    EntityManager em = getEntityManager();
    try {
        if (getLastResult() > 0) {
            if (firstResult >= getLastResult()) {
                return false;
            }
            if ((firstResult + maxResults) > getLastResult()) {
                setMaxResults(getLastResult() - firstResult);
            }
        }
        TypedQuery<T> query = createQuery(em);
        query.setHint(QueryHints.REFRESH, HintValues.TRUE);
        list = query.getResultList();
        setFirstResult(firstResult + maxResults);
        return !list.isEmpty();
    } finally {
        closeIfNeeded(em);
    }
}
 
开发者ID:Godesk,项目名称:JPAUtils,代码行数:22,代码来源:EasyCriteriaQuery.java


示例12: assignReadOnlyResults

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
/**
 * @return {@link JpaBaseQueryPO}
 */
public JpaBaseQueryPO assignReadOnlyResults() {

	final String methodName = "assignReadOnlyResults";

	try {
		getQuery().setHint(QueryHints.READ_ONLY, HintValues.TRUE);
	} catch (final Exception e) {

		// TODO: Can we determine query category?
		throw new PersistenceException(new JpcBasicExceptionPO().setClassName(JpaBaseQueryPO.CLASS_NAME)
				.setMethodName(methodName).setMessage(
						"The hint [" + QueryHints.READ_ONLY + "] is not supported with this query category."),
				e);
	}
	return this;
}
 
开发者ID:gtcGroup,项目名称:jped-parent-project,代码行数:20,代码来源:JpaBaseQueryPO.java


示例13: findAllWithGraph

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
@Override
public List<E> findAllWithGraph(EntityGraph<E> graph) {
    String sql = "SELECT o FROM " + getTableName() + " o";

    TypedQuery<E> query = entityManager.createQuery(sql, getEntityClass());

    query.setHint(QueryHints.JPA_LOAD_GRAPH, graph);
    return query.getResultList();
}
 
开发者ID:viydaag,项目名称:dungeonstory-java,代码行数:10,代码来源:AbstractRepository.java


示例14: setView

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
public void setView(JpaQuery query, String queryString, @Nullable View view, boolean singleResultExpected) {
    Preconditions.checkNotNullArgument(query, "query is null");
    if (view != null) {
        AttributeGroup ag = view.loadPartialEntities() ? new FetchGroup() : new LoadGroup();
        applyView(query, queryString, ag, view, singleResultExpected);
    } else {
        query.setHint(QueryHints.FETCH_GROUP, null);
    }
}
 
开发者ID:cuba-platform,项目名称:cuba,代码行数:10,代码来源:FetchGroupManager.java


示例15: getAllResultList

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
public List<T> getAllResultList() {
        EntityManager em = getEntityManager();
        try {
//            this.all = true;
            TypedQuery<T> query = createQuery(em);
            query.setHint(QueryHints.REFRESH, HintValues.TRUE);
            return query.getResultList();
        } finally {
            closeIfNeeded(em);
        }
    }
 
开发者ID:Godesk,项目名称:JPAUtils,代码行数:12,代码来源:EasyCriteriaQuery.java


示例16: getSingleResult

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
public T getSingleResult() {
    EntityManager em = getEntityManager();
    try {
        this.all = true;
        TypedQuery<T> query = createQuery(em);
        query.setHint(QueryHints.REFRESH, HintValues.TRUE);
        return query.getSingleResult();
    } finally {
        closeIfNeeded(em);
    }
}
 
开发者ID:Godesk,项目名称:JPAUtils,代码行数:12,代码来源:EasyCriteriaQuery.java


示例17: executeNamedQueryPagingReadOnly

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
/**
 * @param <ENTITY>
 * @param name
 * @param pagingPO
 * @return {@link JpaBasicQueryPO}
 */
public <ENTITY> List<ENTITY> executeNamedQueryPagingReadOnly(final String name, final JpaBasicPagingPO pagingPO) {

	final String methodName = "executeNamedQueryPagingReadOnly";

	final JpcPerformanceTimerPO performanceTimerPO = new JpcPerformanceTimerPO();

	EntityManager entityManager = null;
	final List<ENTITY> entityList;

	try {
		entityManager = createEntityManagerThatShouldBeClosed();

		final Query query = entityManager.createNamedQuery(name);
		query.setHint(QueryHints.JDBC_FIRST_RESULT, new Integer(pagingPO.getFirstResult()))
				.setHint(QueryHints.JDBC_MAX_ROWS, new Integer(pagingPO.getMaxRows()));

		final JpaBasicQueryPO queryPO = new JpaBasicQueryPO(entityManager, JpaQueryTypeConstants.NAMED_QUERY, query)
				.assignReadOnlyResults();

		entityList = JpaBaseQueryRM.QUERY_HELPER.getResultList(queryPO);
	} finally {
		closeEntityManager(entityManager);
	}

	// TODO: clarify message
	performanceTimerPO.logPerformance(JpaBasePagingRM.CLASS_NAME, methodName, JpaBaseEntityManagerRM.logger, "TODO");

	return entityList;
}
 
开发者ID:gtcGroup,项目名称:jped-parent-project,代码行数:36,代码来源:JpaBasePagingRM.java


示例18: setHints

import org.eclipse.persistence.config.QueryHints; //导入依赖的package包/类
public void setHints(Query query) {
	query.setHint(QueryHints.READ_ONLY, true);
}
 
开发者ID:BotLibre,项目名称:BotLibre,代码行数:4,代码来源:DatabaseReadOnlyNetwork.java



注:本文中的org.eclipse.persistence.config.QueryHints类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java FileEncodingQuery类代码示例发布时间:2022-05-23
下一篇:
Java DOneOrMorePattern类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap