类org.hibernate.query.internal.QueryImpl源码实例Demo

下面列出了怎么用org.hibernate.query.internal.QueryImpl的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: ueboot   文件: DefaultJpaRepository.java
public <S> Page<S> find(String queryString, String queryCount, NamedParams params, Pageable pageable, Class<S> transformer) {
    Assert.hasText(queryString, "Query must has text!");
    Assert.hasText(queryCount, "Query count must has text!");
    Assert.notNull(params, "QueryParams must not be null!");
    Assert.notNull(pageable, "PageRequest must not be null!");
    Assert.notNull(transformer, "TransformerClass must not be null!");

    Query query = em.createQuery(queryString);

    setQueryParams(query, params);
    query.setMaxResults(pageable.getPageSize());
    query.setFirstResult((int) pageable.getOffset());

    List<S> resultList = query.unwrap(QueryImpl.class).setResultTransformer(Transformers.aliasToBean(transformer)).list();

    Query countQuery = em.createQuery(queryCount);
    setQueryParams(countQuery, params);
    Long total = (Long) countQuery.getSingleResult();

    Page<S> page = new PageImpl(resultList, pageable, total);

    return page;
}
 
源代码2 项目: ueboot   文件: DefaultJpaRepository.java
public <S> Page<S> find(String queryString, String queryCount, NamedParams params, Pageable pageable, ResultTransformer transformer) {
    Assert.hasText(queryString, "Query must has text!");
    Assert.hasText(queryCount, "Query count must has text!");
    Assert.notNull(params, "QueryParams must not be null!");
    Assert.notNull(pageable, "PageRequest must not be null!");
    Assert.notNull(transformer, "Transformer must not be null!");

    Query query = em.createQuery(queryString);

    setQueryParams(query, params);
    query.setMaxResults(pageable.getPageSize());
    query.setFirstResult((int) pageable.getOffset());

    List<S> resultList = query.unwrap(QueryImpl.class).setResultTransformer(transformer).list();

    Query countQuery = em.createQuery(queryCount);
    setQueryParams(countQuery, params);
    Long total = (Long) countQuery.getSingleResult();

    Page<S> page = new PageImpl(resultList, pageable, total);

    return page;
}
 
源代码3 项目: lams   文件: AbstractSharedSessionContract.java
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;
	}
 
源代码4 项目: lams   文件: AbstractSharedSessionContract.java
@Override
public QueryImplementor createQuery(String queryString) {
	checkOpen();
	checkTransactionSynchStatus();
	delayedAfterCompletion();

	try {
		final QueryImpl query = new QueryImpl(
				this,
				getQueryPlan( queryString, false ).getParameterMetadata(),
				queryString
		);
		query.setComment( queryString );
		applyQuerySettingsAndHints( query );
		return query;
	}
	catch (RuntimeException e) {
		markForRollbackOnly();
		throw exceptionConverter.convert( e );
	}
}
 
源代码5 项目: cosmo   文件: StandardItemFilterProcessorTest.java
/**
 * Tests content item query.
 * 
 * @throws Exception
 *             - if something is wrong this exception is thrown.
 */
@Test
public void testContentItemQuery() throws Exception {
    ContentItemFilter filter = new ContentItemFilter();
    CollectionItem parent = new HibCollectionItem();
    filter.setParent(parent);
    filter.setTriageStatusCode(Restrictions.eq(TriageStatus.CODE_DONE));
    QueryImpl<Item> query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibContentItem i join i.parentDetails pd where "
            + "pd.primaryKey.collection=:parent and i.triageStatus.code=:param1", query.getQueryString());

    filter.setTriageStatusCode(Restrictions.isNull());
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibContentItem i join i.parentDetails pd where "
            + "pd.primaryKey.collection=:parent and i.triageStatus.code is null", query.getQueryString());

    filter.setTriageStatusCode(Restrictions.eq(TriageStatus.CODE_DONE));
    filter.addOrderBy(ContentItemFilter.ORDER_BY_TRIAGE_STATUS_RANK_ASC);
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibContentItem i join i.parentDetails pd where "
            + "pd.primaryKey.collection=:parent and i.triageStatus.code=:param1 order by " + "i.triageStatus.rank",
            query.getQueryString());
}
 
源代码6 项目: cosmo   文件: StandardItemFilterProcessorTest.java
/**
 * Tests event stamp query.
 * 
 * @throws Exception
 *             - if something is wrong this exception is thrown.
 */
@Test
public void testEventStampQuery() throws Exception {
    NoteItemFilter filter = new NoteItemFilter();
    EventStampFilter eventFilter = new EventStampFilter();
    CollectionItem parent = new HibCollectionItem();
    filter.setParent(parent);
    filter.setDisplayName(Restrictions.eq("test"));
    filter.setIcalUid(Restrictions.eq("icaluid"));
    // filter.setBody("body");
    filter.getStampFilters().add(eventFilter);
    QueryImpl<Item> query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibNoteItem i join i.parentDetails pd, "
            + "HibBaseEventStamp es where pd.primaryKey.collection=:parent and "
            + "i.displayName=:param1 and es.item=i and i.icalUid=:param2", query.getQueryString());

    eventFilter.setIsRecurring(true);
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibNoteItem i join i.parentDetails pd, HibBaseEventStamp "
            + "es where pd.primaryKey.collection=:parent and i.displayName=:param1 and"
            + " es.item=i and (es.timeRangeIndex.isRecurring=true or i.modifies is not null) "
            + "and i.icalUid=:param2", query.getQueryString());
}
 
源代码7 项目: cosmo   文件: StandardItemFilterProcessorTest.java
/**
 * Tests event stamp time range query.
 * 
 * @throws Exception
 *             - if something is wrong this exception is thrown.
 */
@Test
public void testEventStampTimeRangeQuery() throws Exception {
    NoteItemFilter filter = new NoteItemFilter();
    EventStampFilter eventFilter = new EventStampFilter();
    Period period = new Period(new DateTime("20070101T100000Z"), new DateTime("20070201T100000Z"));
    eventFilter.setPeriod(period);
    eventFilter.setTimezone(registry.getTimeZone("America/Chicago"));

    CollectionItem parent = new HibCollectionItem();
    filter.setParent(parent);
    filter.getStampFilters().add(eventFilter);
    QueryImpl<Item> query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibNoteItem i join i.parentDetails pd, "
            + "HibBaseEventStamp es where pd.primaryKey.collection=:parent and es.item=i "
            + "and ( (es.timeRangeIndex.isFloating=true and "
            + "es.timeRangeIndex.startDate < '20070201T040000' and "
            + "es.timeRangeIndex.endDate > '20070101T040000') or " + "(es.timeRangeIndex.isFloating=false and "
            + "es.timeRangeIndex.startDate < '20070201T100000Z' and "
            + "es.timeRangeIndex.endDate > '20070101T100000Z') or "
            + "(es.timeRangeIndex.startDate=es.timeRangeIndex.endDate and "
            + "(es.timeRangeIndex.startDate='20070101T040000' or "
            + "es.timeRangeIndex.startDate='20070101T100000Z')))", query.getQueryString());
}
 
源代码8 项目: cosmo   文件: StandardItemFilterProcessorTest.java
/**
 * Tests basic stamp query.
 * 
 * @throws Exception
 *             - if something is wrong this exception is thrown.
 */
@Test
public void testBasicStampQuery() throws Exception {
    NoteItemFilter filter = new NoteItemFilter();
    StampFilter missingFilter = new StampFilter();
    missingFilter.setStampClass(EventStamp.class);
    filter.getStampFilters().add(missingFilter);
    QueryImpl<Item> query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibNoteItem i where exists (select s.id from HibStamp s "
            + "where s.item=i and s.class=HibEventStamp)", query.getQueryString());
    missingFilter.setMissing(true);
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals(
            "select i from HibNoteItem i where not exists "
                    + "(select s.id from HibStamp s where s.item=i and s.class=HibEventStamp)",
            query.getQueryString());
}
 
源代码9 项目: cosmo   文件: StandardItemFilterProcessorTest.java
/**
 * Tests basic attribute query.
 * 
 * @throws Exception
 *             - if something is wrong this exception is thrown.
 */
@Test
public void testBasicAttributeQuery() throws Exception {
    NoteItemFilter filter = new NoteItemFilter();
    AttributeFilter missingFilter = new AttributeFilter();
    missingFilter.setQname(new HibQName("ns", "name"));
    filter.getAttributeFilters().add(missingFilter);
    QueryImpl<Item> query = queryBuilder.buildQuery(filter);
    Assert.assertEquals(
            "select i from HibNoteItem i where exists "
                    + "(select a.id from HibAttribute a where a.item=i and a.qname=:param0)",
            query.getQueryString());
    missingFilter.setMissing(true);
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals(
            "select i from HibNoteItem i where not exists"
                    + " (select a.id from HibAttribute a where a.item=i and a.qname=:param0)",
            query.getQueryString());
}
 
源代码10 项目: ueboot   文件: DefaultJpaRepository.java
public <S> List<S> find(String queryString, NamedParams params, Class<S> transformer) {
    Assert.notNull(queryString, "Query must not be null!");
    Assert.notNull(params, "NamedParams must not be null!");
    Assert.notNull(transformer, "Transformer Class must not be null");

    Query query = em.createQuery(queryString);
    setQueryParams(query, params);
    return query.unwrap(QueryImpl.class).setResultTransformer(Transformers.aliasToBean(transformer)).list();
}
 
源代码11 项目: cosmo   文件: StandardItemFilterProcessorTest.java
/**
 * Tests uid query.
 * 
 * @throws Exception
 *             - if something is wrong this exception is thrown.
 */
@Test
public void testUidQuery() throws Exception {
    ItemFilter filter = new ItemFilter();
    filter.setUid(Restrictions.eq("abc"));
    QueryImpl<Item> query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibItem i where i.uid=:param0", query.getQueryString());
}
 
源代码12 项目: cosmo   文件: StandardItemFilterProcessorTest.java
@Test
public void testModifiedSinceQuery() {
    NoteItemFilter filter = new NoteItemFilter();
    Calendar c = Calendar.getInstance();
    Date end = c.getTime();
    c.add(Calendar.YEAR, -1);
    filter.setModifiedSince(Restrictions.between(c.getTime(), end));
    QueryImpl<Item> query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibNoteItem i where i.modifiedDate between :param0 and :param1",
            query.getQueryString());
}
 
源代码13 项目: cosmo   文件: StandardItemFilterProcessorTest.java
/**
 * Tests display name query.
 * 
 * @throws Exception
 *             - if something is wrong this exception is thrown.
 */
@Test
public void testDisplayNameQuery() throws Exception {
    ItemFilter filter = new ItemFilter();
    filter.setDisplayName(Restrictions.eq("test"));
    QueryImpl<Item> query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibItem i where i.displayName=:param0", query.getQueryString());

    filter.setDisplayName(Restrictions.neq("test"));
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibItem i where i.displayName!=:param0", query.getQueryString());

    filter.setDisplayName(Restrictions.like("test"));
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibItem i where i.displayName like :param0", query.getQueryString());

    filter.setDisplayName(Restrictions.nlike("test"));
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibItem i where i.displayName not like :param0", query.getQueryString());

    filter.setDisplayName(Restrictions.isNull());
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibItem i where i.displayName is null", query.getQueryString());

    filter.setDisplayName(Restrictions.ilike("test"));
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibItem i where lower(i.displayName) like :param0", query.getQueryString());

    filter.setDisplayName(Restrictions.nilike("test"));
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibItem i where lower(i.displayName) not like :param0",
            query.getQueryString());

}
 
源代码14 项目: cosmo   文件: StandardItemFilterProcessorTest.java
/**
 * Tests parent query.
 * 
 * @throws Exception
 *             - if something is wrong this exception is thrown.
 */
@Test
public void testParentQuery() throws Exception {
    ItemFilter filter = new ItemFilter();
    CollectionItem parent = new HibCollectionItem();
    filter.setParent(parent);
    QueryImpl<Item> query = queryBuilder.buildQuery(filter);
    Assert.assertEquals(
            "select i from HibItem i join i.parentDetails pd where " + "pd.primaryKey.collection=:parent",
            query.getQueryString());
}
 
源代码15 项目: cosmo   文件: StandardItemFilterProcessorTest.java
/**
 * Tests display name and parent query.
 * 
 * @throws Exception
 *             - if something is wrong this exception is thrown.
 */
@Test
public void testDisplayNameAndParentQuery() throws Exception {
    ItemFilter filter = new ItemFilter();
    CollectionItem parent = new HibCollectionItem();
    filter.setParent(parent);
    filter.setDisplayName(Restrictions.eq("test"));
    QueryImpl<Item> query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibItem i join i.parentDetails pd where "
            + "pd.primaryKey.collection=:parent and i.displayName=:param1", query.getQueryString());
}
 
源代码16 项目: cosmo   文件: StandardItemFilterProcessor.java
/**
 * Defined for testing reasons.
 */
protected QueryImpl<Item> buildQuery(ItemFilter filter) {
    return (QueryImpl<Item>) this.buildQueryInternal(filter);
}
 
源代码17 项目: cosmo   文件: StandardItemFilterProcessorTest.java
/**
 * Tests note item query.
 * 
 * @throws Exception
 *             - if something is wrong this exception is thrown.
 */
@Test
public void testNoteItemQuery() throws Exception {
    NoteItemFilter filter = new NoteItemFilter();
    CollectionItem parent = new HibCollectionItem();
    filter.setParent(parent);
    filter.setDisplayName(Restrictions.eq("test"));
    filter.setIcalUid(Restrictions.eq("icaluid"));
    filter.setBody(Restrictions.eq("body"));
    filter.setTriageStatusCode(Restrictions.eq(TriageStatus.CODE_DONE));

    QueryImpl<Item> query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibNoteItem i join i.parentDetails pd, "
            + "HibTextAttribute ta4 where pd.primaryKey.collection=:parent and "
            + "i.displayName=:param1 and i.triageStatus.code=:param2 and i.icalUid=:param3 and "
            + "ta4.item=i and ta4.qname=:ta4qname and ta4.value=:param5", query.getQueryString());

    filter = new NoteItemFilter();
    filter.setIsModification(true);
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibNoteItem i where i.modifies is not null", query.getQueryString());

    filter.setIsModification(false);
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibNoteItem i where i.modifies is null", query.getQueryString());

    filter.setIsModification(null);

    filter.setHasModifications(true);
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibNoteItem i where size(i.modifications) > 0", query.getQueryString());

    filter.setHasModifications(false);
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibNoteItem i where size(i.modifications) = 0", query.getQueryString());

    filter = new NoteItemFilter();
    filter.setMasterNoteItem(new HibNoteItem());
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals("select i from HibNoteItem i where (i=:masterItem or " + "i.modifies=:masterItem)",
            query.getQueryString());

    filter = new NoteItemFilter();
    Date date1 = new Date(1000);
    Date date2 = new Date(2000);
    filter.setReminderTime(Restrictions.between(date1, date2));
    query = queryBuilder.buildQuery(filter);
    Assert.assertEquals(
            "select i from HibNoteItem i, HibTimestampAttribute tsa0 where "
                    + "tsa0.item=i and tsa0.qname=:tsa0qname and tsa0.value between :param1 and :param2",
            query.getQueryString());

}
 
 类所在包
 类方法
 同包方法