为什么hibernate在插入和删除操作期间会生成’T_’前缀tableName?

数据库:ORACLE

我们在hibernate和hbm文件中使用ImprovedNamingStrategy,我们明确地给出了表名。

但是,仍然,在删除和插入操作期间,它生成’T_’作为前缀,’HT_’作为一些表的前缀。

这导致SQLGrammarException:

org.hibernate.exception.SQLGrammarException:无法执行语句

请注意,使用Oracle数据库时会发生这种情况,HSQL或Postgres不会发生这种情况。

您似乎正在运行一些批量操作,这是临时表。 这是官方Hibernate论坛上的一个主题 ,很可能是同样的问题。 这是一篇文章 ,解释为什么需要这些表格。

解决方法是避免批量操作或只是让Hibernate创建这个临时表。