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));
});
}
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());
}
}
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));
});
}
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));
});
}
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));
});
}
Aggregations