Search in sources :

Example 66 with Query

use of org.hibernate.query.Query in project hibernate-orm by hibernate.

the class LongStringTest method testSelectLobPropertyInHqlQuery.

@Test
@SkipForDialect(Oracle8iDialect.class)
@TestForIssue(jiraKey = "HHH-11477")
public void testSelectLobPropertyInHqlQuery() {
    TransactionUtil.doInHibernate(this::sessionFactory, session -> {
        LongStringHolder entity = new LongStringHolder();
        entity.setLongString(original);
        session.save(entity);
    });
    TransactionUtil.doInHibernate(this::sessionFactory, session -> {
        final Query query = session.createQuery("select l.longString from LongStringHolder l where l.longString = :stringValue");
        query.setParameter("stringValue", original);
        final List<String> results = query.list();
        assertThat(results.size(), is(1));
        assertThat(results.get(0), is(original));
    });
}
Also used : Query(org.hibernate.query.Query) SkipForDialect(org.hibernate.testing.SkipForDialect) Test(org.junit.Test) TestForIssue(org.hibernate.testing.TestForIssue)

Example 67 with Query

use of org.hibernate.query.Query in project hibernate-orm by hibernate.

the class LockNoneWarmingTest method testQuerySetLockModeNONEDoNotLogAWarnMessageWhenTheDialectUseFollowOnLockingIsTrue.

@Test
@BMRules(rules = { @BMRule(targetClass = "org.hibernate.dialect.Dialect", targetMethod = "useFollowOnLocking", action = "return true", name = "H2DialectUseFollowOnLocking") })
public void testQuerySetLockModeNONEDoNotLogAWarnMessageWhenTheDialectUseFollowOnLockingIsTrue() {
    try (Session s = openSession()) {
        final Query query = s.createQuery("from Item i join i.bids b where name = :name");
        query.setParameter("name", "ZZZZ");
        query.setLockMode("i", LockMode.NONE);
        query.setLockMode("b", LockMode.NONE);
        query.list();
        assertFalse(triggerable.triggerMessage(), triggerable.wasTriggered());
    }
}
Also used : Query(org.hibernate.query.Query) Session(org.hibernate.Session) Test(org.junit.Test) BMRules(org.jboss.byteman.contrib.bmunit.BMRules)

Example 68 with Query

use of org.hibernate.query.Query in project hibernate-orm by hibernate.

the class OneToManyWithDynamicFilterTest method testForIssue.

@Test
public void testForIssue() {
    doInHibernate(this::sessionFactory, session -> {
        final org.hibernate.Filter enableFilter = session.enableFilter("aliveOnly");
        enableFilter.setParameter("aliveTimestamp", Timestamp.valueOf("9999-12-31 00:00:00"));
        enableFilter.setParameter("deleted", true);
        enableFilter.validate();
        final Query query = session.createQuery("select a.id from ArticleRevision as a " + "left join a.articleTradings as t " + "with ( (t.partyId = :p_0)  and  (t.classifier = :p_1) )");
        query.setParameter("p_0", 1L);
        query.setParameter("p_1", "no_classification");
        final List list = query.list();
        assertThat(list.size(), is(1));
    });
}
Also used : Query(org.hibernate.query.Query) List(java.util.List) Test(org.junit.Test)

Example 69 with Query

use of org.hibernate.query.Query in project hibernate-orm by hibernate.

the class CoalesceTest method HHH_10463_NullInCoalesce.

@Test
@SkipForDialect(jiraKey = "HHH-10463", value = PostgreSQL81Dialect.class)
@SkipForDialect(jiraKey = "HHH-10463", value = Oracle8iDialect.class)
public void HHH_10463_NullInCoalesce() {
    doInHibernate(this::sessionFactory, session -> {
        Query query = session.createQuery("from Person p where p.name = coalesce(:name, p.name) ");
        query.setParameter("name", null);
        List<Person> resultList = query.getResultList();
        assertThat(resultList, hasItem(person));
    });
}
Also used : Query(org.hibernate.query.Query) SkipForDialect(org.hibernate.testing.SkipForDialect) Test(org.junit.Test)

Example 70 with Query

use of org.hibernate.query.Query in project hibernate-orm by hibernate.

the class CoalesceTest method HHH_10463_TestCoalesce.

@Test
public void HHH_10463_TestCoalesce() {
    doInHibernate(this::sessionFactory, session -> {
        Query query = session.createQuery("from Person p where p.name = coalesce(:name , p.name) ");
        query.setParameter("name", "Johannes");
        List<Person> resultList = query.getResultList();
        assertThat(resultList, hasItem(person));
    });
}
Also used : Query(org.hibernate.query.Query) Test(org.junit.Test)

Aggregations

Query (org.hibernate.query.Query)149 Test (org.junit.Test)46 Session (org.hibernate.Session)39 List (java.util.List)24 ArrayList (java.util.ArrayList)19 TestForIssue (org.hibernate.testing.TestForIssue)19 ObjectQuery (com.evolveum.midpoint.prism.query.ObjectQuery)17 CriteriaQuery (javax.persistence.criteria.CriteriaQuery)17 HashMap (java.util.HashMap)15 Map (java.util.Map)14 NativeQuery (org.hibernate.query.NativeQuery)14 AbstractJPATest (org.hibernate.test.jpa.AbstractJPATest)11 SessionFactory (org.hibernate.SessionFactory)9 OperationResult (com.evolveum.midpoint.schema.result.OperationResult)7 SQLException (java.sql.SQLException)7 Collectors (java.util.stream.Collectors)7 RQuery (com.evolveum.midpoint.repo.sql.query.RQuery)6 CriteriaBuilder (javax.persistence.criteria.CriteriaBuilder)6 Predicate (javax.persistence.criteria.Predicate)6 Root (javax.persistence.criteria.Root)6