我的实体类如下所示:
@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 提供程序。
知道我在这里做错了什么吗?