【问题标题】:hibernate.hbm2ddl.auto create-drop with production Databasehibernate.hbm2ddl.auto create-drop 与生产数据库
【发布时间】:2016-09-19 04:49:43
【问题描述】:

我需要在下面澄清一下,

  1. 如果我们使用 Hibernate,是否必须设置 hibernate.hbm2ddl.auto 属性。
  2. hibernate.hbm2ddl.auto create-drop 会影响生产数据库中的任何东西

我正在使用 spring localsession factory builder 来构建 hibernate 会话。使用@Transaction 可以很好地执行查询,但是在查询执行后我得到了 Invalid data access sql grammer 异常。我假设 Hibernate 试图用 DB 更新一些东西不。

那是你在 hbm2ddl.auto 属性上寻求帮助?

【问题讨论】:

  • 不知道这个问题是不是开玩笑。

标签: java spring hibernate hbm2ddl


【解决方案1】:
  1. 没有。默认值很好:它对数据库没有任何作用
  2. 嗯,它会在会话工厂关闭时删除您的数据库(您将丢失所有内容),并在重新启动时重新创建架构。所以你真的,真的不希望在生产中使用它。

如果您需要有关异常的帮助,您应该显示您的代码,显示异常的堆栈跟踪,并显示相关信息(例如,相关表的外观)。我怀疑 hbm2ddl.auto 与该异常有什么关系。通常,当发生异常时,这是您的代码有问题,而不是 hibernate 有问题。任何框架/库都是如此。

【讨论】:

  • 为什么我怀疑我在 org.springframework.orm.hibernate4.HibernateTransactionManager.class 的 hibernate4 事务 jar 中设置了一些调试点,并且看到异常已在 doCommit 方法中引发并引发异常为"ORA-01031: 权限不足"
猜你喜欢
  • 2018-07-06
  • 2020-04-12
  • 1970-01-01
  • 1970-01-01
  • 2017-07-07
  • 2017-11-18
  • 1970-01-01
  • 2015-02-02
  • 1970-01-01
相关资源
最近更新 更多