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 提供程序。

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

4

0 回答 0