Refine search
@Deprecated @Override @SuppressWarnings({"rawtypes", "unchecked", "deprecation"}) public List<?> find(final String queryString, @Nullable final Object... values) throws DataAccessException { return nonNull(executeWithNativeSession((HibernateCallback<List<?>>) session -> { org.hibernate.Query queryObject = queryObject( ReflectionUtils.invokeMethod(createQueryMethod, session, queryString)); prepareQuery(queryObject); if (values != null) { for (int i = 0; i < values.length; i++) { queryObject.setParameter(i, values[i]); } } return queryObject.list(); })); }
@Override public HandlingHistory lookupHandlingHistoryOfCargo(final TrackingId trackingId) { return new HandlingHistory(getSession().createQuery( "from HandlingEvent where cargo.trackingId = :tid"). setParameter("tid", trackingId). list() ); }
public Cargo find(TrackingId tid) { return (Cargo) getSession(). createQuery("from Cargo where trackingId = :tid"). setParameter("tid", tid). uniqueResult(); }
s.save( bar2 ); List list = s.createQuery( "from Bar bar left join bar.baz baz left join baz.cascadingBars b where bar.name like 'Bar %'" ).list(); assertTrue( row instanceof Object[] && ( (Object[]) row ).length==3 ); Query q = s.createQuery("select bar, b from Bar bar left join bar.baz baz left join baz.cascadingBars b where bar.name like 'Bar%'"); list = q.list(); if ( !(getDialect() instanceof SAPDBDialect) ) assertTrue( list.size()==2 ); q = s.createQuery("select bar, b from Bar bar left join bar.baz baz left join baz.cascadingBars b where ( bar.name in (:nameList) or bar.name in (:nameList) ) and bar.string = :stringVal"); HashSet nameList = new HashSet(); nameList.add( "bar" ); nameList.add( "Bar Two" ); q.setParameterList( "nameList", nameList ); q.setParameter( "stringVal", "a string" ); list = q.list(); if ( !(getDialect() instanceof SAPDBDialect) ) assertTrue( list.size()==2 ); q = s.createQuery("select bar, b from Bar bar left join bar.baz baz left join baz.cascadingBars b where bar.name like :name and b.name like :name"); q.setString( "name", "Bar%" ); list = q.list(); assertTrue( list.size()==1 );
public int executeHql(String hql,Map<String,Object> params){ Query query = this.getCurrentSession().createQuery(hql); if (params != null && !params.isEmpty()) { for (String key : params.keySet()) { Object obj = params.get(key); if (obj instanceof Collection<?>) { query.setParameterList(key, (Collection<?>) obj); } else if (obj instanceof Object[]) { query.setParameterList(key, (Object[]) obj); } else { query.setParameter(key, obj); } } } return query.executeUpdate(); }
public List<Modification> modificationFor(final StageIdentifier stageIdentifier) { if (stageIdentifier == null) { return null; } String key = cacheKeyForModificationsForStageLocator(stageIdentifier); List<Modification> modifications = (List<Modification>) goCache.get(key); if (modifications == null) { synchronized (key) { modifications = (List<Modification>) goCache.get(key); if (modifications == null) { modifications = (List<Modification>) getHibernateTemplate().execute((HibernateCallback) session -> { Query q = session.createQuery("FROM Modification WHERE revision = :revision ORDER BY id DESC"); q.setParameter("revision", stageIdentifier.getStageLocator()); return q.list(); }); if (!modifications.isEmpty()) { goCache.put(key, modifications); } } } } return modifications; }
public User getByEmail(String email) { return (User) getSession().createQuery( "from User where email = :email") .setParameter("email", email) .uniqueResult(); }
s.save(simple ); s.createQuery( "from Simple s where repeat('foo', 3) = 'foofoofoo'" ).list(); s.createQuery( "from Simple s where repeat(s.name, 3) = 'foofoofoo'" ).list(); s.createQuery( "from Simple s where repeat( lower(s.name), (3 + (1-1)) / 2) = 'foofoofoo'" ).list(); assertTrue( q.iterate().hasNext() ); q = s.createQuery("from Simple s where s.name = :foo and upper(s.name) = :bar or s.count=:count or s.count=:count + 1"); q.setParameter( "bar", "SIMPLE 1" ); q.setString( "foo", "Simple 1" ); q.setInteger("count", 69); q = s.createQuery("select all s, s.other from Simple s where s = :s"); q.setParameter("s", simple); assertTrue( q.list().size()==1 ); set.add("foo"); q.setParameterList( "name_list", set ); q.setParameter("count", new Integer(-1) ); assertTrue( q.list().size()==1 );
@Deprecated @Override @SuppressWarnings({"rawtypes", "unchecked", "deprecation"}) public List<?> findByNamedQuery(final String queryName, @Nullable final Object... values) throws DataAccessException { return nonNull(executeWithNativeSession((HibernateCallback<List<?>>) session -> { org.hibernate.Query queryObject = queryObject( ReflectionUtils.invokeMethod(getNamedQueryMethod, session, queryName)); prepareQuery(queryObject); if (values != null) { for (int i = 0; i < values.length; i++) { queryObject.setParameter(i, values[i]); } } return queryObject.list(); })); }
Query query = sessionFactory.getCurrentSession().createQuery(hql.toString()); query.setParameter("DAEMON_USER_UUID", Daemon.getDaemonUserUuid()); for (Map.Entry<String, String> e : namesMap.entrySet()) { query.setString(e.getKey(), e.getValue());
@Test public void testBetweenParameters() { final Session s = openSession(); s.getTransaction().begin(); final Query query = s.createQuery( "from Item where quantity between :low and :high" ); query.setParameter( "low", new Integer( 9 ) ); query.setParameter( "high", new Integer( 11 ) ); @SuppressWarnings("unchecked") final List<Item> result = query.list(); assertEquals( 1, result.size() ); assertEquals( 10, result.get( 0 ).getQuantity().intValue() ); s.getTransaction().commit(); s.close(); }
@Test public void testInsertWithMultipleNamedParams() { TestData data = new TestData(); data.prepare(); Session s = openSession(); Transaction t = s.beginTransaction(); org.hibernate.Query q = s.createQuery( "insert into Pickup (id, owner, vin) select :id, owner, :vin from Car" ); q.setParameter("id", 5l); q.setParameter("vin", "some"); q.executeUpdate(); t.commit(); t = s.beginTransaction(); s.createQuery( "delete Vehicle" ).executeUpdate(); t.commit(); s.close(); data.cleanup(); }
s.createQuery( "from Simple s where repeat('foo', 3) = 'foofoofoo'" ).list(); s.createQuery( "from Simple s where repeat(s.name, 3) = 'foofoofoo'" ).list(); s.createQuery( "from Simple s where repeat( lower(s.name), 3 + (1-1) / 2) = 'foofoofoo'" ).list(); assertTrue( q.iterate().hasNext() ); q = s.createQuery("from Simple s where s.name = :foo and upper(s.name) = :bar or s.count=:count or s.count=:count + 1"); q.setParameter("bar", "SIMPLE 1"); q.setString("foo", "Simple 1"); q.setInteger("count", 69); q = s.createQuery("select all s, s.other from Simple s where s = :s"); q.setParameter("s", simple); assertTrue( q.list().size()==1 ); set.add("Simple 1"); set.add("foo"); q.setParameterList( "name_list", set ); q.setParameter("count", Integer.valueOf( -1 ) ); assertTrue( q.list().size()==1 );
@Deprecated @Override @SuppressWarnings({"rawtypes", "unchecked", "deprecation"}) public List<?> find(final String queryString, @Nullable final Object... values) throws DataAccessException { return nonNull(executeWithNativeSession((HibernateCallback<List<?>>) session -> { org.hibernate.Query queryObject = queryObject( ReflectionUtils.invokeMethod(createQueryMethod, session, queryString)); prepareQuery(queryObject); if (values != null) { for (int i = 0; i < values.length; i++) { queryObject.setParameter(i, values[i]); } } return queryObject.list(); })); }
@Test public void testRetrievingEntityByZoneDateTime() { final ZonedDateTime startDate = ZonedDateTime.of( 1, 1, 1, 0, 0, 0, 0, ZoneOffset.ofHours( 3 ) ); saveZoneDateTimeEventWithStartDate( startDate ); final Session s = openSession(); try { Query query = s.createQuery( "from ZonedDateTimeEvent o where o.startDate = :date" ); query.setParameter( "date", startDate, ZonedDateTimeType.INSTANCE ); List<ZonedDateTimeEvent> list = query.list(); assertThat( list.size(), is( 1 ) ); } finally { s.close(); } }
@Test public void testSimpleInsertWithNamedParam() { TestData data = new TestData(); data.prepare(); Session s = openSession(); Transaction t = s.beginTransaction(); org.hibernate.Query q = s.createQuery( "insert into Pickup (id, owner, vin) select id, :owner, vin from Car" ); q.setParameter("owner", "owner"); q.executeUpdate(); t.commit(); t = s.beginTransaction(); s.createQuery( "delete Vehicle" ).executeUpdate(); t.commit(); s.close(); data.cleanup(); }
assertTrue( "query", s.createQuery( "from Detail d, Master m where m = d.master and size(m.outgoing) = 0 and size(m.incoming) = 0" ).list().size()==2 assertTrue( s.createQuery( "select elements(master.details) from Master master" ).list().size()==2 ); t.commit(); s.close(); List list = s.createQuery( "from Master m left join fetch m.details" ).list(); Master m = (Master) list.get(0); assertTrue( Hibernate.isInitialized( m.getDetails() ) ); master = dd.getMaster(); assertTrue( "detail-master", master.getDetails().contains(dd) ); assertTrue( s.createFilter( master.getDetails(), "order by this.i desc" ).list().size()==2 ); assertTrue( s.createFilter( master.getDetails(), "select this where this.id > -1" ).list().size()==2 ); Query q = s.createFilter( master.getDetails(), "where this.id > :id" ); q.setInteger("id", -1); assertTrue( q.list().size()==2 ); q = s.createFilter( master.getDetails(), "where this.id > :id1 and this.id < :id2" ); q.setInteger("id1", -1); f.setParameter( "listy2", master.getName() ); assertEquals( f.iterate().next(), new Integer(12) );
@Deprecated @Override @SuppressWarnings({"rawtypes", "unchecked", "deprecation"}) public List<?> findByNamedQuery(final String queryName, @Nullable final Object... values) throws DataAccessException { return nonNull(executeWithNativeSession((HibernateCallback<List<?>>) session -> { org.hibernate.Query queryObject = queryObject( ReflectionUtils.invokeMethod(getNamedQueryMethod, session, queryName)); prepareQuery(queryObject); if (values != null) { for (int i = 0; i < values.length; i++) { queryObject.setParameter(i, values[i]); } } return queryObject.list(); })); }
Session s = openSession(); try { Query q = s.createQuery("select bar from Bar as bar where bar.x > :myX"); q.list(); fail("Should throw QueryException for missing myX"); Query q = s.createQuery("select bar from Bar as bar where bar.x > ?"); q.list(); fail("Should throw QueryException for missing ?"); Query q = s.createQuery("select bar from Bar as bar where bar.x > ? or bar.short = 1 or bar.string = 'ff ? bb'"); q.setInteger(0, 1); q.list(); try { Query q = s.createQuery("select bar from Bar as bar where bar.string = ? or bar.string = ? or bar.string = ?"); q.setParameter(0, "bull"); q.setParameter(2, "shit"); q.list(); fail("should throw exception telling me i have not set parameter 1");
@Test public void testInsertWithSubqueriesAndNamedParams() { TestData data = new TestData(); data.prepare(); Session s = openSession(); Transaction t = s.beginTransaction(); org.hibernate.Query q = s.createQuery( "insert into Pickup (id, owner, vin) select :id, (select a.description from Animal a where a.description = :description), :vin from Car" ); q.setParameter("id", 5l); q.setParameter("description", "Frog"); q.setParameter("vin", "some"); q.executeUpdate(); t.commit(); t = s.beginTransaction(); try { org.hibernate.Query q1 = s.createQuery( "insert into Pickup (id, owner, vin) select :id, (select :description from Animal a where a.description = :description), :vin from Car" ); fail("Unsupported exception should have been thrown"); } catch (IllegalArgumentException e) { assertTyping( QueryException.class, e.getCause() ); } catch(QueryException e) { assertTrue(e.getMessage().indexOf("Use of parameters in subqueries of INSERT INTO DML statements is not supported.") > -1); } t.commit(); t = s.beginTransaction(); s.createQuery( "delete Vehicle" ).executeUpdate(); t.commit(); s.close(); data.cleanup(); }