hibernate中的全局临时表

eat*_*ode 6 hibernate

在 hbm2ddl.auto 的更新模式下,hibernate 创建全局临时表,如下所示,

Hibernate: create global temporary table HT_PASSENGER_VEHICLE (VEHICLE_ID number(10,0) not null) on commit delete rows
Hibernate: create global temporary table HT_TRANSPORTATION_VEHICLE (VEHICLE_ID number(10,0) not null) on commit delete rows
Hibernate: create global temporary table HT_VEHICLE (VEHICLE_ID number(10,0) not null) on commit delete rows
Run Code Online (Sandbox Code Playgroud)

这些桌子是什么?这些和缓存机制有关吗?为什么 hibernate 创建这些表?

Fil*_*lip 1

Hibernate 使用这些表进行多表批量操作

请参阅:https ://in.relation.to/2005/07/20/multitable-bulk-operations/

UPDATE 和 DELETE 语句对于处理多个表中包含的单个实体(不包括关联)都具有挑战性,这可能是以下情况:

  • 继承使用<joined-subclass/>
  • 继承使用<union-subclass/>
  • 使用<join/>构造的实体映射