Java 使用Hibernate从文件读取数据并插入到表中
我试图通过读取txt文件中的数据将数据插入book表,问题是在Java 使用Hibernate从文件读取数据并插入到表中,java,hibernate,Java,Hibernate,我试图通过读取txt文件中的数据将数据插入book表,问题是在commit()语句中只生成了一个insert查询 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernat
commit()
语句中只生成了一个insert查询
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class BookClientFile {
public static void main(String[] args) {
SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session s1 = sf.openSession();
BufferedReader br = null;
Transaction trans = null;
try {
br = new BufferedReader(new FileReader(new File("Books.txt")));
String line = null;
String [] row = null;
Book bk = null;
trans = s1.beginTransaction();
while((line = br.readLine()) != null) {
bk = new Book();
row = line.split(",");
bk.setBookId(Integer.parseInt(row[0].trim()));
bk.setTitle(row[1].trim());
bk.setAuthor(row[2].trim());
s1.save(bk);
trans.commit();
}
} catch(IOException e) {
e.printStackTrace();
}
finally {
s1.flush();
s1.close();
try {
if(br != null) {
br.close();
br = null;
}
} catch(IOException e) {
e.printStackTrace();
}
}
}
}
交换“到”行以开始每本书的交易
trans = s1.beginTransaction();
while((line = br.readLine()) != null) {
或者移动
trans.commit()代码>离开时获取trans.commit()代码>在while循环之外。您不需要在while循环之外提交吗?什么都没有发生,相同的输出Hibernate:在Book(Book\u title,Book\u author,Book\u id)中插入值(?,?)
相同的输出,程序在生成一个sql查询后停止。