当前位置: 首页 > 面试题库 >

为什么冬眠在插入和删除操作期间生成“ T_”前缀tableName?

羊舌航
2023-03-14
问题内容

数据库:ORACLE

我们为休眠使用了改良的NamingStrategy,在hbm文件中,我们明确给出了表名。

但是,仍然在删除和插入操作期间,它会针对某些表生成作为前缀的“ T_”和作为前缀的“ HT_”。

这导致SQLGrammarException:

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

请注意,这是在使用Oracle数据库时发生的,而在HSQL或Postgres中则没有。


问题答案:

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

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



 类似资料:
  • 问题内容: 我有一个使用默认名称空间打印的文件。元素以ns2前缀打印,我需要将其删除,以及与我的代码的关系: 我希望它是: 这就是我的编码方式,据我所知,这足以使ns2消失: 生成的package-info结果如下: 我创建如下文件: generateClassesPackage是其中package-info.java及其元素所在的包。 Foo对象已定义,并具有以下元素: 我错过了吗?还是我误解了

  • 嗨,我正在用spring boot hibernate测试MySQL中的记录删除-插入-删除操作,我注意到一个问题,当插入发生时,记录似乎没有被完全删除。 3在hibernate kickstart上创建初始记录(通过类路径中的data.sql) 操作为 (1)创建的初始记录 (2)删除所有记录 (3)添加新记录 (4)删除所有记录 当执行断言时,发现结果列表中仍然包含最后一条记录,因此断言失败。

  • 当类显式声明复制操作(即复制构造函数或复制赋值操作符)时,不会为该类声明移动操作。但是当类显式声明移动操作时,复制操作被声明为删除。为什么会存在这种不对称?为什么不指定如果声明了移动操作,则不会声明复制操作?据我所知,不会有任何行为差异,也不需要对移动和复制操作进行不对称处理。 [对于喜欢引用该标准的人,12.8/9和12.8/20中规定了具有复制操作声明的类的移动操作声明的缺失,12.8/7和1

  • 我将PostgreSQL 9.6与Hibernate 5.2.10一起使用,并且有3个实体: 当Entity1加入Entity2通过Entity3过滤时,我需要删除Entity1的所有出现,如下所示: PS:在数据库中,所有的表都有外键。

  • 问题内容: 假设我们已经有一个指向该节点的指针,则在列表的特定点插入或删除元素是恒定时间操作。-来自链接列表上的Wikipedia文章 单个链表中的链表遍历始终从头开始。我们必须继续努力直到满足给定条件。 因此,除非我们处理头节点,否则这将使任何操作都变得最糟O(n)。 我们不能直接链接列表中的给定指针。那么为什么说这是一个恒定时间的操作呢? 编辑:即使我们有一个指向该节点的指针,我们也必须从头开

  • 问题内容: 他们幸福地结婚了吗? 我正在使用最新版本的hibernate(4)和1.3版的joda-time hibernate支持,我也相信这是当前的最新版本。 使用注释时,一切似乎都正常(按预期方式创建了日期列): 一起使用这些版本是否存在任何已知问题? Update Well证明已创建列,但无法填充任何数据: 处理程序处理失败; 嵌套异常是java.lang.AbstractMethodEr