Я получаю сообщение об ошибке в весенней партии с весенней загрузкой версии 2.2.0 - PullRequest
0 голосов
/ 09 февраля 2020

Я использую Spring Batch для чтения данных из CSV и вставки в базу данных.

Файл UserRepository:

@Repository
public interface UserRepository extends JpaRepository<User, Integer > {
}

Файл DBWriter:

@Component
public class DBWriter implements ItemWriter<User> {

    @Autowired
    private UserRepository userRepository ;

    @Override
    public void write(List<? extends User> users) throws Exception {
        System.out.println("Data saved for users: "+ users);
        userRepository.save(users);
    }
}

получение ошибки времени компиляции в методе userRepository.save.

Предполагаемый тип 'S' для параметра типа 'S' находится за его пределами; следует расширить 'in.mmedia.spring_batch_example.model.User'

1 Ответ

1 голос
/ 10 февраля 2020

Вы должны вызывать userRepository.saveAll(users);, а не userRepository.save(users);.

При этом Spring Batch предоставляет RepositoryItemWriter , который можно использовать для записи элементов на основе репозитория Spring Data.

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