数据库:ORACLE
我们为休眠使用了改良的NamingStrategy,在hbm文件中,我们明确给出了表名。
但是,仍然在删除和插入操作期间,它会针对某些表生成作为前缀的“ T_”和作为前缀的“ HT_”。
这导致SQLGrammarException:
org.hibernate.exception.SQLGrammarException:无法执行语句
请注意,这是在使用Oracle数据库时发生的,而在HSQL或Postgres中则没有。
看来您正在运行一些批量操作,这是临时表。这是官方的Hibernate论坛上的一个话题,很可能是同样的问题。这是一篇文章,解释为什么需要此表。
解决方法是避免批量操作,或者只是让Hibernate创建此临时表。