我想配置hibernate batch_size
。
我在我的休眠配置中配置它如下:
configuration.setProperty("hibernate.jdbc.batch_versioned_data",
"true");
configuration.setProperty("hibernate.jdbc.batch_size", "100");
configuration.setProperty("hibernate.jdbc.fetch_size", "400");
configuration.setProperty("hibernate.order_inserts", "true");
configuration.setProperty("hibernate.update_inserts", "true");
我在我的数据库中创建了一个名为TEST的测试表,只有一个整数字段。 相关实体是:
@Entity
@Table(name = "Test")
public class TestEntity implements java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "Field")
private int field;
}
我写了一个非常样本的测试方法来创建一些数据:
tx = session.beginTransaction();
for (int i = 0; i < 1000; i++) {
TestEntity test = new TestEntity(i);
session.save(test);
}
tx.commit();
但是在hibernate输出中,插入是逐个执行的:
Hibernate:
insert
into
Test
(Field)
values
(?)
Hibernate:
insert
into
Test
(Field)
values
(?)
Hibernate:
insert
into
Test
(Field)
values
(?)
Hibernate:
insert
into
Test
(Field)
values
(?)
Hibernate:
insert
into
Test
(Field)
values
(?)
Hibernate:
insert
into
Test
(Field)
values
(?)
.......
.......
我真的不明白为什么它不起作用。
有什么想法吗?