Java Spring Hibernate模式验证:缺少表

时间:2019-06-13 15:39:07

标签: java spring hibernate

这里有一个很奇怪的问题。我列出了为dev / test / qa / prod构建的环境。每个数据库都连接到一个不同的数据库,一个数据库对应于每个环境。当我在开发人员中运行代码时,一切都很棒,当我在任何其他环境中运行它时,我都会得到

Factory method 'sessionFactory' threw exception; nested exception is org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [dbo.Cause_Code]

我现在要注意,对于test / qa / prod,此代码已部署到服务器和WORKS。没有错误,但是在本地运行会给我那个丢失的表。该表肯定存在,并且dev / test / qa / prod数据库处于完全相同的架构状态。

您可以在此处看到该表位于QA数据库中,并且IDE可以看到: enter image description here

在表注释中添加schema =“ dbo”不会执行任何操作,将hibernate.hbm2ddl.auto更改为none会使其无法生成,但是由于相同的原因所有调用都会失败。

我应该注意,我所测试的不是我构建的环境。开发人员可以使用,我将该环境的数据库连接更改为质量检查,但连接失败。我还尝试了直接将数据源添加到休眠持久性窗口中,但没有执行任何操作。

有人可以告诉我为什么IDE认为tabble不存在,但是部署的代码运行良好并且表肯定存在吗?我必须在某个地方缺少一个简单的设置。

1 个答案:

答案 0 :(得分:0)

嗯,在过去的6个小时里,我厌倦了尝试不同的事情,然后重新安装了IDE。导入了已经设置了共享环境配置的项目。进行任何更改,仅运行质量检查版本,先尝试一下。我想安装过程有些混乱。不知道为什么它只影响每个环境,但是影响开发人员。我尝试了所有方法,例如重新启动整个计算机,以禁用创建空项目的所有功能,只有重新安装才能修复它。