数据库:ORACLE
我们正在为 hibernate 和 hbm 文件使用 ImprovedNamingStrategy,我们明确给出表名。
但是,在删除和插入操作期间,它仍然会针对某些表生成“T_”作为前缀和“HT_”作为前缀。
这会导致 SQLGrammarException:
org.hibernate.exception.SQLGrammarException: 无法执行语句
请注意,这是在使用 Oracle 数据库时发生的,而在 HSQL 或 Postgres 中则不会发生。
最佳答案
您似乎正在运行一些批量操作,这是临时表。这是一个 topic在官方 Hibernate 论坛上,很可能有同样的问题。这是一个 article , 解释为什么需要这个表。
解决方法是避免批量操作或让 Hibernate 创建临时表。
关于java - 为什么hibernate在insert和delete操作时会生成 'T_' prefix tableName?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40609285/