Hibernate的批量插入和JDBC

Hibernate的批量插入(&&JDBC)

使用HIBERNATE API一个个SAVE对象,如果数据量太大,会有可能出现内存溢出的异常,Hibernate一级缓存,对其容量没有限制,强制使用,由于所有的对象都被保存到这个缓存中,内存总会达到一定数目时出现内存溢出的情况,还会影响插入性能。

1、对于批量操作就是要关闭二级缓存,即时清除一级缓存,以每50-100个数据作为一个处理单元

2、通过JDBC API中的PreparedStatement接口来执行sql语句,sql语句涉及到的数据不会被加载到Session的缓存中,因此不会占用内存空间,因此直接调用JDBC API批量化插入的效率要高于Hibernate缓存的批量插入

你可能感兴趣的:(Hibernate的批量插入和JDBC)