return statelessSession.createQuery(queryString);
StatelessSession session = ((Session) entityManager.getDelegate()).getSessionFactory().openStatelessSession(); Query query = session .createQuery("SELECT a FROM Address a WHERE .... ORDER BY a.id"); query.setFetchSize(Integer.valueOf(1000)); query.setReadOnly(true); query.setLockMode("a", LockMode.NONE); ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY); while (results.next()) { Address addr = (Address) results.get(0); // Do stuff } results.close(); session.close();
@Test public void testDynamicFetch() { Session s = openSession(); s.beginTransaction(); Date now = new Date(); User me = new User( "me" ); User you = new User( "you" ); Resource yourClock = new Resource( "clock", you ); Task task = new Task( me, "clean", yourClock, now ); // :) s.save( me ); s.save( you ); s.save( yourClock ); s.save( task ); s.getTransaction().commit(); s.close(); StatelessSession ss = sessionFactory().openStatelessSession(); ss.beginTransaction(); Task taskRef = ( Task ) ss.createQuery( "from Task t join fetch t.resource join fetch t.user" ).uniqueResult(); assertTrue( taskRef != null ); assertTrue( Hibernate.isInitialized( taskRef ) ); assertTrue( Hibernate.isInitialized( taskRef.getUser() ) ); assertTrue( Hibernate.isInitialized( taskRef.getResource() ) ); assertFalse( Hibernate.isInitialized( taskRef.getResource().getOwner() ) ); ss.getTransaction().commit(); ss.close(); cleanup(); }
.createQuery( "select p from Person p" ) .scroll(ScrollMode.FORWARD_ONLY);
/** * Find. * * @param query * the native fquery * @param parameterMap * the parameter map * @param maxResult * @param firstResult * @return the list */ public List findByQuery(String query, Map<Parameter, Object> parameterMap, int firstResult, int maxResult) { s = getStatelessSession(); Query q = s.createQuery(query); q.setFirstResult(firstResult); q.setMaxResults(maxResult); setParameters(parameterMap, q); return q.list(); }
/** * Find. * * @param query * the native fquery * @param parameterMap * the parameter map * @param maxResult * @param firstResult * @return the list */ public int onExecuteUpdate(String query, Map<Parameter, Object> parameterMap, int firstResult, int maxResult) { s = getStatelessSession(); Query q = s.createQuery(query); q.setFirstResult(firstResult); q.setMaxResults(maxResult); setParameters(parameterMap, q); Transaction tx = onBegin(); int i = q.executeUpdate(); onCommit(tx); // tx.commit(); return i; }
@Override public Query createQuery(String queryString) { return session.createQuery(queryString); }
@Override public Query createQuery(String queryString) { return session.createQuery(queryString); }
@Override public Query createQuery(String queryString) { return this.raw.createQuery(queryString); }
StatelessSession session = sessionFactory.openStatelessSession(); List<Ent> lst = session.createQuery("FROM DeviceTree").getResultList(); //All the returned Ent are in the detached state
public List<ClusterLockEntity> list() { return withStatelessSession(statelessSession -> (List<ClusterLockEntity>) statelessSession.createQuery("from ClusterLockEntity ").list()); }
@SuppressWarnings("unchecked") public List<InternalClusterMessage> getMessagesAfter(String excludeNodeId, long fromId) { return (List<InternalClusterMessage>) withStatelessSession(session -> { final Query query; // null is invalid for SQL comparison, while "" is treated as null in Oracle if (excludeNodeId != null && !excludeNodeId.isEmpty()) { query = session.createQuery("from InternalClusterMessage where id > :fromId and senderNodeId != :excludeNodeId order by id") .setString("excludeNodeId", excludeNodeId); } else { query = session.createQuery("from InternalClusterMessage where id > :fromId order by id"); } return query .setLong("fromId", fromId) .list(); }); }
/** * creates a {@link Stream} with given query String in a * {@link StatelessSession} * * @param query * - given query String * @return new {@link Stream} with given ResultSet */ public <T> Stream<T> streamStateless(String query) { StatelessSession ses = createStatelessSession(); Query q = ses.createQuery(query); if (loggingEnabled) logQuery(false); return StreamSupport.<T> stream(Spliterators.spliteratorUnknownSize( new QueryIterator<T>(q, this, true), Spliterator.ORDERED | Spliterator.DISTINCT), false); }
StatelessSession statelessSession = sessionFactory.openStatelessSession(connection); try { ScrollableResults scrollableResults = statelessSession.createQuery("from Entity").scroll(ScrollMode.FORWARD_ONLY); int count = 0; while (scrollableResults.next()) { if (++count > 0 && count % 100 == 0) { System.out.println("Fetched " + count + " entities"); } Entity entity = (Entity) scrollableResults.get()[0]; //Process and write result } } finally { statelessSession.close(); }
public int deleteClusterMessagesBeforeAndOn(long toTimestamp) { return withStatelessSession(session -> session.createQuery("delete from InternalClusterMessage where timestamp <= :toTimestamp") .setLong("toTimestamp", toTimestamp) .executeUpdate()); }
public Long getHighestId() { return withStatelessSession(session -> (Long) session.createQuery("select id from InternalClusterMessage order by id desc") .setMaxResults(1) .uniqueResult()); } }
public int removeHeartbeatsBefore(long timestamp) { return withStatelessSession(statelessSession -> statelessSession.createQuery("delete from ClusterHeartbeatEntity h where h.timestamp < :timestamp") .setParameter("timestamp", timestamp) .executeUpdate()); } }
public void deleteLocksHeldByNode(String nodeId) { withStatelessSession(statelessSession -> statelessSession .createQuery("delete ClusterLockEntity where nodeId=:nodeId") .setParameter("nodeId", nodeId) .executeUpdate()); } }
protected QueryCacheEntry(final String queryString, final Object... params) { StatelessSession session = factoryImplementor.openStatelessSession(); Query query = session.createQuery(queryString); for (int i = 0; i < params.length; i++) { query.setParameter(i, params[i]); } QueryImpl queryImpl = (QueryImpl)query; queryParameters = queryImpl.getQueryParameters(null); this.queryString = queryString; this.params = params; cacheRegion = factoryImplementor.getQueryCache().getRegion(); session.close(); }
/** * Find. * * @param query * the native fquery * @param parameterMap * the parameter map * @param maxResult * @param firstResult * @return the list */ public List findByQuery(String query, Map<Parameter, Object> parameterMap, int firstResult, int maxResult) { s = getStatelessSession(); Query q = s.createQuery(query); q.setFirstResult(firstResult); q.setMaxResults(maxResult); setParameters(parameterMap, q); return q.list(); }