【问题标题】:Query being fired but insert not reflected in DB查询被触发但插入未反映在数据库中
【发布时间】:2012-05-17 16:40:08
【问题描述】:

我正在使用 Hibernate 将实体对象持久保存在 Oracle DB 中:

Hibernate: 
    insert 
    into
        TABLE_NAME
        (COLUMNS..) 
    values
        (?, ?, ?, ?, ?, ?, ?, ?)

这是我将“show_sql”设置为“true”后得到的结果。没有任何异常,systrace & debug 显示一切运行顺利。我也重新检查了映射和配置,一切看起来都很好;我也检查了数据库。

问题是插入没有反映在表中!可能是什么问题!我已经重新检查了每个设置、映射等。但我不明白哪里出了问题,请帮忙!

-编辑-

是的,我也承诺了! :|

【问题讨论】:

  • 插入后如何提交?
  • 是的,我也承诺了! :|

标签: java database oracle hibernate persistence


【解决方案1】:

我会检查您是否正在连接到您认为正在连接的数据库以及用户。您可以尝试在表上添加一个约束,以防止插入您正在测试的行,看看您是否会引发错误。

如果您检查过这些问题,那么问题可能出在数据库之外。

【讨论】:

  • 是的,我已经做到了!不过,我还没有检查约束,这是一个很好的观点,我会检查 n 更新。
  • 即使引入了约束也没有变化!
  • 我认为您甚至没有连接到数据库,或者该查询实际上没有被执行
  • 连接,也被执行,我能想到的唯一解释是它没有提交,我不知道为什么或如何!
  • 约束的存在应该检测到这种情况,除非有错误被抑制。
【解决方案2】:

也许其他一些 oracle 用户会话在您尝试插入的表上获得了锁?

【讨论】:

  • 那样的话应该有例外!
  • 嗯,在这种情况下我永远不会遇到异常。使用休眠 3.6.9 顺便说一句
  • 没有人有锁,我仔细检查了。我们正在运行测试,希望找到原因,很可能仅在我们的内部系统中。
猜你喜欢
  • 2013-04-15
  • 1970-01-01
  • 2012-07-17
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-08
相关资源
最近更新 更多