我在Spring Boot 2.2.0版本的Spring Batch中遇到错误

时间:2020-02-09 09:09:01

标签: java spring spring-boot spring-batch

我正在使用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 个答案:

答案 0 :(得分:1)

您应该致电userRepository.saveAll(users);而不是userRepository.save(users);

也就是说,Spring Batch提供了RepositoryItemWriter,可用于基于Spring Data存储库编写项目。