为什么冬眠会产生' T _'插入和删除操作期间的前缀tableName?

时间:2016-11-15 11:56:57

标签: java sql database oracle hibernate

数据库:ORACLE

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

但是,在删除和插入操作期间,它仍在生成' T _'作为前缀和' HT _'作为某些表的前缀。

这导致SQLGrammarException:

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

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

1 个答案:

答案 0 :(得分:2)

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

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