JpaPagingItemReader не удалось извлечь ResultSet - PullRequest
0 голосов
/ 16 января 2020

Это мой класс заданий по настройке

   @Configuration  
   @EnableBatchProcessing  
   @Import(CacheConfiguration.class)

    public class ProductConfiguration {
    @PersistenceContext
    private EntityManager entityManager;

    @Inject
    private JobBuilderFactory jobBuilderFactory;
    @Inject
    private StepBuilderFactory stepBuilderFactory;

Считыватель

@Bean
public ItemReader<Product> productReader() throws Exception {
    JpaPagingItemReader<Product> reader = new JpaPagingItemReader<Product>();
    reader.setEntityManagerFactory(entityManager.getEntityManagerFactory());
    reader.setQueryString("select p from Product p");
    reader.setPageSize(1);
    reader.afterPropertiesSet();
    return reader;
}

Процессор

@Bean
public ProductProcessor productProcessor() {
    return new ProductProcessor ();
}

Writer

@Bean
public ProductWritter productWritter() {
    return new ProductWritter();
}

Step

@Bean
public Step productInitialStep() throws Exception {
    return stepBuilderFactory.get("initialStep")
            .<Product, ProductData> chunk(10)
                .reader(productReader())
                .processor(productProcessor())
                .writer(productWritter())
            .build();
}

Задание

@Bean
public Job productJob() throws Exception {
    return jobBuilderFactory.get("productJob")
            .incrementer(new RunIdIncrementer())
            .flow(productInitialStep())
            .end()
            .build();
}

}

А при запуске приложения на шаге Reader появляются следующие ошибки:
Caused by: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
Caused by: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended

Есть идеи, как получить эти ошибки? Спасибо!

1 Ответ

0 голосов
/ 23 января 2020

Неверная строка SQL. Это

"select p from Product p"

Должно быть что-то вроде

"select * from Product p"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...