Java 使用hibernate从外部文件批插入Postgresql表
我有一个包含多条记录的外部文件(大约60k)。现在我想将它们插入到postgresql表中。我将hbm.xml和hibernate.cfg映射到我的数据库。我还为该类编写了getter setter方法 我查阅了有关批插入的hibernate文档,但不知道如何处理文件并将其添加到hibernate代码中。 请参阅以下示例代码段:Java 使用hibernate从外部文件批插入Postgresql表,java,hibernate,batch-file,jdbc,hql,Java,Hibernate,Batch File,Jdbc,Hql,我有一个包含多条记录的外部文件(大约60k)。现在我想将它们插入到postgresql表中。我将hbm.xml和hibernate.cfg映射到我的数据库。我还为该类编写了getter setter方法 我查阅了有关批插入的hibernate文档,但不知道如何处理文件并将其添加到hibernate代码中。 请参阅以下示例代码段: public void addEmployees( ){ Session session = factory.openSession(); Tr
public void addEmployees( ){
Session session = factory.openSession();
Transaction tx = null;
Integer employeeID = null;
try{
tx = session.beginTransaction();
for ( int i=0; i<100000; i++ ) {
String fname = ...
String lname = ...
Integer salary = ..;
Employee employee = new Employee(fname, lname, salary);
session.save(employee);
if( i % 50 == 0 ) {
session.flush();
session.clear();
}
}
tx.commit();
在上面的代码中,fname、lname和salary将从文件中输入。请让我知道从文件中插入它们的方法。一个明显的方法是解析文件,但是我不确定这是否是一种方法。我看不出如何避免解析文件问题是我有一个文件,它有大约60k条记录,大约15列。除此之外还有其他方法吗?为什么要使用Hibernate?如果文件中的数据与数据库中的表结构匹配,则可以使用直接加载。如果文件是服务器的本地文件,请使用
COPY
。否则请使用@TomAnderson,即使它不匹配-您仍然可以使用COPY
将其加载到临时表中并INSERT。。。选择…
将它们发送到目标表。
abc xyz 450
cde qwe 908
qwe fgh 1009