【问题标题】:Avoid Global Temporary Table creation in Hibernate 5.1.0避免在 Hibernate 5.1.0 中创建全局临时表
【发布时间】:2017-01-10 09:59:03
【问题描述】:

Hibernate 创建以 HT_ 开头的全局临时表名称,用于批量更新和删除。

我们不应该/不允许从应用程序创建任何表。

我们如何关闭休眠的表全局临时创建?

【问题讨论】:

标签: hibernate hibernate-5.x


【解决方案1】:

hibernate 定义了几个选项,您可以根据您的数据库功能进行选择
1-InlineIdsInClauseBulkIdStrategy
2-InlineIdsSubSelectValueListBulkIdStrategy
3-InlineIdsOrClauseBulkIdStrategy
4-CteValuesListBulkIdStrategy

使用这些策略的示例

<property name="hibernate.hql.bulk_id_strategy"
          value="org.hibernate.hql.spi.id.inline.InlineIdsInClauseBulkIdStrategy"
/>

有用的链接:
https://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html#batch

【讨论】:

  • 这适用于 hibernate 5.2 以后的版本,但遗憾的是这不适用于 5.1 版本,因此您需要升级到更新的版本。
猜你喜欢
  • 2011-02-24
  • 2023-04-08
  • 2015-04-25
  • 2016-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多