为什么JPA / Hibernate没有执行批处理?

时间:2012-11-01 16:21:02

标签: jpa-2.0

我的实体类如下所示:

@Entity
class Entity {

    private UUID id;
    private String name;


    // normal getters and setters

    @PrePersist
    public void init(){
        if(id == null){
            setId(UUID.randomUUID());
        }
    }

在我的persistence.xml中,我有以下内容: -

    <property name="hibernate.jdbc.batch_size" value="30"/>
    <property name="hibernate.order_inserts" value="true"/>
    <property name="hibernate.order_updates" value="true"/>

在单笔交易中, 我在for循环中调用“entityManager.persist(myEntity)”。多次运行的确切迭代次数可能会有所不同。

在我的日志配置中,我有以下内容,

<logger category="org.hibernate.jdbc.BatchingBatcher">
    <level name="DEBUG"/>
</logger>
<logger category="org.hibernate.jdbc.AbstractBatcher">
    <level name="DEBUG"/>
</logger>
<logger category="org.hibernate.persister.entity.AbstractEntityPersister">
    <level name="DEBUG"/>
</logger>

但是,在服务器的日志中,我找不到任何在插入期间执行任何批处理的证据。 我正在使用Hibernate作为JPA提供程序。

知道我在这里做错了什么吗?

0 个答案:

没有答案