reader.setQueryString(this.queryString); reader.setPageSize(this.pageSize); reader.setParameterValues(this.parameterValues);
@Override protected void pointToEmptyInput(ItemReader<Foo> tested) throws Exception { JpaPagingItemReader<Foo> reader = (JpaPagingItemReader<Foo>) tested; reader.close(); reader.setQueryString("select f from Foo f where f.id = -1"); reader.afterPropertiesSet(); reader.open(new ExecutionContext()); }
@Override protected AbstractPagingItemReader<Foo> getItemReader() throws Exception { String jpqlQuery = "select f from Foo f where f.value >= :limit"; JpaPagingItemReader<Foo> reader = new JpaPagingItemReader<>(); reader.setQueryString(jpqlQuery); reader.setParameterValues(Collections.<String, Object>singletonMap("limit", 2)); reader.setEntityManagerFactory(entityManagerFactory); reader.setPageSize(3); reader.afterPropertiesSet(); reader.setSaveState(true); return reader; }
@Override protected ItemReader<Foo> getItemReader() throws Exception { String jpqlQuery = "select f from Foo f"; JpaPagingItemReader<Foo> reader = new JpaPagingItemReader<>(); reader.setQueryString(jpqlQuery); reader.setEntityManagerFactory(entityManagerFactory); reader.setPageSize(3); reader.afterPropertiesSet(); reader.setSaveState(true); return reader; }
private JpaPagingItemReader<Foo> getItemReader() throws Exception { String jpqlQuery = "select f from Foo f"; JpaPagingItemReader<Foo> reader = new JpaPagingItemReader<>(); reader.setQueryString(jpqlQuery); reader.setEntityManagerFactory(entityManagerFactory); reader.setPageSize(PAGE_SIZE); reader.afterPropertiesSet(); reader.setSaveState(false); reader.open(new ExecutionContext()); return reader; }
private JpaPagingItemReader<Foo> getItemReader() throws Exception { String jpqlQuery = "select f from Foo f"; JpaPagingItemReader<Foo> reader = new JpaPagingItemReader<>(); reader.setQueryString(jpqlQuery); reader.setEntityManagerFactory(entityManagerFactory); reader.setPageSize(3); reader.afterPropertiesSet(); reader.setSaveState(false); reader.open(new ExecutionContext()); return reader; }
@Override protected ItemReader<Foo> createItemReader() throws Exception { LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean(); factoryBean.setDataSource(dataSource); factoryBean.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); factoryBean.setPersistenceUnitName("bar"); factoryBean.afterPropertiesSet(); EntityManagerFactory entityManagerFactory = factoryBean.getObject(); String jpqlQuery = "select f from Foo f where name like :name"; JpaPagingItemReader<Foo> inputSource = new JpaPagingItemReader<>(); inputSource.setQueryString(jpqlQuery); inputSource.setParameterValues(Collections.singletonMap("name", "bar%")); inputSource.setEntityManagerFactory(entityManagerFactory); inputSource.setPageSize(3); inputSource.afterPropertiesSet(); inputSource.setSaveState(true); return inputSource; }
@Bean(destroyMethod = "") // WARNING: org.springframework.batch.item.ItemStreamException: Error while closing item reader public ItemReader<Person> jpaItemReader(EntityManagerFactory entityManagerFactory) { JpaPagingItemReader<Person> reader = new JpaPagingItemReader<>(); reader.setEntityManagerFactory(entityManagerFactory); reader.setQueryString("select emp from Person emp"); return reader; }
@Bean @StepScope public JpaPagingItemReader<Customer> reader( @Value("#{jobParameters[mailHost]}") String mailHost) { Map<String, Object> paramMap = new HashMap<>(); paramMap.put("mailHost", "%@"+mailHost); JpaPagingItemReader<Customer> reader = new JpaPagingItemReader<>(); reader.setQueryString("SELECT c FROM Customer c where c.email like :mailHost"); reader.setParameterValues(paramMap); reader.setPageSize(CHUNK_SIZE); reader.setEntityManagerFactory(emf); return reader; }
@Bean @StepScope public JpaPagingItemReader<Store> reader ( @Value("#{jobParameters[address]}") String address) { Map<String, Object> parameters = new LinkedHashMap<>(); parameters.put("address", address+"%"); JpaPagingItemReader<Store> reader = new JpaPagingItemReader<>(); reader.setEntityManagerFactory(entityManagerFactory); reader.setQueryString("SELECT s FROM Store s WHERE s.address LIKE :address order by s.id"); reader.setParameterValues(parameters); reader.setPageSize(chunkSize); return reader; }
reader.setQueryString(this.queryString); reader.setPageSize(this.pageSize); reader.setParameterValues(this.parameterValues);