public Query<?> getRevisionsQuery(Session session, Set<Number> revisions) { return session.createQuery( String.format( REVISIONS_QUERY, revisionInfoEntityName, revisionInfoIdName ) ).setParameter( REVISIONS_QUERY_PARAMETER, revisions ); } }
public Query<?> getRevisionDateQuery(Session session, Number revision) { return session.createQuery( String.format( REVISION_DATE_QUERY, revisionInfoTimestampName, revisionInfoEntityName, revisionInfoIdName ) ).setParameter( REVISION_DATE_QUERY_PARAMETER, revision ); }
public Query<?> getRevisionNumberForDateQuery(Session session, Date date) { return session.createQuery( String.format( REVISION_NUMBER_FOR_DATE_QUERY, revisionInfoIdName, revisionInfoEntityName, revisionInfoTimestampName ) ).setParameter( REVISION_NUMBER_FOR_DATE_QUERY_PARAMETER, timestampAsDate ? date : date.getTime() ); }
public Query toQuery(Session session) { final StringBuilder querySb = new StringBuilder(); final Map<String, Object> queryParamValues = new HashMap<>(); build( querySb, queryParamValues ); final Query query = session.createQuery( querySb.toString() ); for ( Map.Entry<String, Object> paramValue : queryParamValues.entrySet() ) { query.setParameter( paramValue.getKey(), paramValue.getValue() ); } return query; } }
@Override public Person findByName(String name) { return (Person) this.sessionFactory.getCurrentSession().createQuery( "from Person person where person.name = :name").setParameter("name", name).getSingleResult(); }
protected int doDelete(Session session, String queryString, Object param, Type paramType) { Query query = session.createQuery( queryString ) .setParameter( 0, param, paramType ); return doDelete( session, query ); }
public Query getQuery(Session s) { return s.createQuery( "from Student s where s.studentNumber = :studentNumber" ) .setParameter( "studentNumber", shermanExpected.getStudentNumber() ); } };
public Query getQuery(Session s) { return s.createQuery( "select e.student, e.semester, e.year, e.course from Enrolment e where e.studentNumber = :studentNumber" ) .setParameter( "studentNumber", shermanEnrolmentExpected.getStudentNumber() ); } };
public Query getQuery(Session s) { return s.createQuery( "select e.semester from Enrolment e where e.studentNumber = :studentNumber" ) .setParameter( "studentNumber", shermanEnrolmentExpected.getStudentNumber() ); } };
@SuppressWarnings("unchecked") private static void executeAndVerifySelect(Session session) { List<Actor> list = session.createQuery("from Actor where firstName = ?0") .setParameter(0, "CHRISTIAN").list(); Set<String> expectedLastNames = new HashSet<>(Arrays.asList("GABLE", "AKROYD", "NEESON")); assertEquals(expectedLastNames.size(), list.size()); for (Actor actor : list) { assertTrue(expectedLastNames.remove(actor.getLastName())); } }
@Test public void testUpdate() { doInHibernate( this::sessionFactory, session -> { int updateCount = session.createQuery( "update Person set name = :name where employed = :employed" ) .setParameter( "name", "John Doe" ) .setParameter( "employed", true ) .executeUpdate(); assertEquals(entityCount(), updateCount); }); }
@Test public void testSetParameter() throws Exception { try (Session session = openSession()) { final Query<TestEntity> query = session.createQuery( "SELECT e FROM TestEntity e WHERE e.date <= :ts", TestEntity.class ).setParameter( "ts", new DateAttribute( System.currentTimeMillis() ), TemporalType.TIMESTAMP ); final Stream<TestEntity> stream = query.stream(); assertThat( stream.count(), is( 1L ) ); } }
@Test public void test() { doInHibernate( this::sessionFactory, session -> { List<CorporateUser> users = session.createQuery( "select u from CorporateUser u where u.emailAddresses = :address", CorporateUser.class ) .setParameter( "address", new Array(), ArrayType.INSTANCE ) .getResultList(); assertTrue( users.isEmpty() ); } ); }
@Test @TestForIssue(jiraKey = "HHH-2735") public void testQueryLockModePessimisticWriteWithAlias() { doInHibernate( this::sessionFactory, session -> { // shouldn't throw an exception session.createQuery( "SELECT MAX(a.id)+1 FROM A a where a.value = :value" ) .setLockMode( "a", LockMode.PESSIMISTIC_WRITE ) .setParameter( "value", "it" ) .list(); } ); }
@Test public void testStoredProcedureOutParameter() { doInHibernate( this::sessionFactory, session -> { List<Object[]> persons = session .createNamedQuery( "getPerson") .setParameter(1, 1L) .getResultList(); assertEquals(1, persons.size()); } ); }
@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)); } ); }
@Test @TestForIssue(jiraKey = "HHH-2735") public void testQueryLockModeNoneWithAlias() { doInHibernate( this::sessionFactory, session -> { // shouldn't throw an exception session.createQuery( "SELECT a.value FROM A a where a.id = :id" ) .setLockMode( "a", LockMode.NONE ) .setParameter( "id", id ) .list(); } ); }
@Test public void testDeleteFromPerson() { doInHibernate( this::sessionFactory, session -> { //tag::batch-bulk-hql-temp-table-delete-query-example[] int updateCount = session.createQuery( "delete from Person where employed = :employed" ) .setParameter( "employed", false ) .executeUpdate(); //end::batch-bulk-hql-temp-table-delete-query-example[] assertEquals( entityCount(), updateCount ); }); }
@Test public void testDeleteFromEngineer() { doInHibernate( this::sessionFactory, session -> { int updateCount = session.createQuery( "delete from Engineer where fellow = :fellow" ) .setParameter( "fellow", true ) .executeUpdate(); assertEquals( entityCount() / 2, updateCount ); }); }
@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)); } ); }