使用@Query在Spring JPA中加载CSV文件

nik*_*328 5 java mysql spring hibernate spring-data-jpa

我正在尝试使用Hibernate + Spring Data JPA将CSV文件直接上传到数据库中。

当我在MySQL shell上运行此命令时,一切正常:

LOAD DATA LOCAL INFILE''DATA TABLE INFILE''INTO TABLE byteor_csv FIELDS BY';' '\ n'终止的行(名称,线索,小写字母,人员类型,地址,位置,省,邮政编码,办公室,电话,网段,计划);

我需要从Java Web应用程序执行此操作。用户上传CSV文件,然后在处理之前将其放入辅助表中。但是,当我尝试从DAO对象执行此操作时,它只是根本不起作用。

这些是我尝试过的事情:

@Query(value = "LOAD DATA INFILE :filename INTO TABLE debt_csv FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (debtor, cuil, date, amount, op_number, description);",
        nativeQuery = true)
void uploadFile(String filename);


@Query(value = "LOAD DATA INFILE :filename INTO TABLE debt_csv FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (debtor, cuil, date, amount, op_number, description);",
        nativeQuery = true)
void uploadFile(@Param("filename") String filename);


@Query(value = "LOAD DATA INFILE 'filename' INTO TABLE debt_csv FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (debtor, cuil, date, amount, op_number, description);",
        nativeQuery = true)
void uploadFile(String filename);


@Query(value = "LOAD DATA INFILE <absolute_filepath_hardcoded> INTO TABLE debt_csv FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (debtor, cuil, date, amount, op_number, description);",
        nativeQuery = true)
void uploadFile();
Run Code Online (Sandbox Code Playgroud)

和使用相同LOAD DATA LOCAL INFILE

有什么建议么?