My Maven项目需要将数据加载到数据库,import.sql
包含以下内容:
LOAD DATA LOCAL INFILE
`'/home/jack/ubuntu/bword/src/main/resources/Term.txt' INTO TABLE Term FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' (id,name);`
此处使用的路径是我机器上的绝对路径。如何指定相对路径以使其工作?我试过这些:
/bword/src/main/resources/Term.txt
../bword/src/main/resources/Term.txt
../bword/src/main/resources/Term.txt
../src/main/resources/Term.txt
这些都不起作用。该文件位于src/main/resources
,Maven目录中的默认目录。
我正在使用JBoss和hibernate,JPA。
答案 0 :(得分:0)
恕我直言,你不能这样做。
您的应用程序是Web应用程序(我看一下聊天)。 Maven可以将import.sql
和Term.txt
打包到应用程序中。这两个文件在类路径中都可见。 Hibernate扫描类路径,找到import.sql
并执行它。
但是当import.sql
继续时,命令
LOAD DATA LOCAL INFILE 'file_name' ...
已执行。 'file_name'
已针对当前工作目录解决。
Term.txt
是否可见?我不这么认为。 摘要:
Term.txt
在JBoss文件系统