@Override protected Object doExecute(final AbstractJpaQuery query, Object[] values) { if (!SurroundingTransactionDetectorMethodInterceptor.INSTANCE.isSurroundingTransactionActive()) { throw new InvalidDataAccessApiUsageException(NO_SURROUNDING_TRANSACTION); } Query jpaQuery = query.createQuery(values); // JPA 2.2 on the classpath if (streamMethod != null) { return ReflectionUtils.invokeMethod(streamMethod, jpaQuery); } // Fall back to legacy stream execution PersistenceProvider persistenceProvider = PersistenceProvider.fromEntityManager(query.getEntityManager()); CloseableIterator<Object> iter = persistenceProvider.executeQueryWithResultStream(jpaQuery); return StreamUtils.createStreamFromIterator(iter); } }
@Override protected Object doExecute(AbstractMybatisQuery query, Object[] values) { if (!SurroundingTransactionDetectorMethodInterceptor.INSTANCE .isSurroundingTransactionActive()) { throw new InvalidDataAccessApiUsageException(NO_SURROUNDING_TRANSACTION); } return null; }
@Override protected Object doExecute(final AbstractEbeanQuery ebeanQuery, Object[] values) { if (!SurroundingTransactionDetectorMethodInterceptor.INSTANCE.isSurroundingTransactionActive()) { throw new InvalidDataAccessApiUsageException(NO_SURROUNDING_TRANSACTION); } EbeanQueryWrapper createQuery = ebeanQuery.createQuery(values); return createQuery.findStream(); } }
@Override protected Object doExecute(final AbstractEbeanQuery ebeanQuery, Object[] values) { if (!SurroundingTransactionDetectorMethodInterceptor.INSTANCE.isSurroundingTransactionActive()) { throw new InvalidDataAccessApiUsageException(NO_SURROUNDING_TRANSACTION); } EbeanQueryWrapper createQuery = ebeanQuery.createQuery(values); return createQuery.findStream(); } }
@Override protected Object doExecute(final AbstractJpaQuery query, Object[] values) { if (!SurroundingTransactionDetectorMethodInterceptor.INSTANCE.isSurroundingTransactionActive()) { throw new InvalidDataAccessApiUsageException(NO_SURROUNDING_TRANSACTION); } Query jpaQuery = query.createQuery(values); // JPA 2.2 on the classpath if (streamMethod != null) { return ReflectionUtils.invokeMethod(streamMethod, jpaQuery); } // Fall back to legacy stream execution PersistenceProvider persistenceProvider = PersistenceProvider.fromEntityManager(query.getEntityManager()); CloseableIterator<Object> iter = persistenceProvider.executeQueryWithResultStream(jpaQuery); return StreamUtils.createStreamFromIterator(iter); } }