这几天在做性能优化的项目,发现我修改了hibernate.jdbc.batch_size 为50后,性能提升并不明显。经过仔细分析hibernate源代码,发现hibernate默认给batch_size为15.
看一下hibernate是如何赋值默认15的:
我们写入数据库时,有可能这样写:
@Test
public void insertChineseBook() throws Exception {
....
/**
* 每100次向数据库flush一次
*/
if (i % 100 == 0) {
session.flush();
}
}