首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SchemaManagementException:模式验证:缺少表[chk_groups],即使数据库中存在表也是如此

SchemaManagementException:模式验证:缺少表[chk_groups],即使数据库中存在表也是如此
EN

Stack Overflow用户
提问于 2019-11-14 22:25:01
回答 1查看 1.4K关注 0票数 4

首先,我知道在stackoverflow上有很多与此相关的问题,但没有一个能解决我的问题。这就是我发布这篇文章的原因。

在尝试连接到SQL server DB并尝试使用hibernate.hbm2ddl.auto字段的" validate“值验证现有的DB结构时,我遇到了一个非常奇怪的问题。但我得到的是错误,

代码语言:javascript
复制
SchemaManagementException: Schema-validation: missing table [chk_groups]

下面是我的实体配置,

代码语言:javascript
复制
@Table(name="chk_groups")
public class GroupEntity {
}

@Entity
@Table(name="chk_members")
public class MemberEntity {
}

我在属性文件中使用了正确的配置,如下所示:

代码语言:javascript
复制
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://localhost\instanceName;databaseName=companyDB
spring.datasource.username=sa
spring.datasource.password=sa

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.SQLServer2012Dialect
spring.jpa.hibernate.ddl-auto = validate

现在,在MS sql server中,默认的模式名称是"dbo“,理想情况下应该在验证DB结构时选择它。但为了确认一下,当我第一次遇到缺失表错误时,我也尝试了手动配置它,如下所示。还是不走运。

代码语言:javascript
复制
@Entity
@Table(name="chk_groups", schema="dbo")
public class GroupEntity {

@Entity
@Table(name="chk_members", schema="dbo")
public class MemberEntity {

我也尝试了设置下面的属性,

代码语言:javascript
复制
spring.jpa.properties.hibernate.default_schema= dbo

我甚至试过了,

代码语言:javascript
复制
@Entity (name="chk_groups")
public class GroupEntity {
}

我百分之百确定DB表存在,因为我可以使用旧的JDBC模板方式访问它,并且可以在它上执行所有CRUD操作,而不会出现任何错误。

当我尝试使用spring boot和data JPA方式通过java代码创建的实体来验证现有的DB结构时,问题就出现了。我不能使用update或create或其他任何东西,因为已经创建了DB结构。我应该使用java实体来映射到它。

我不知道是什么问题导致了这个问题?这是否与用户验证模式所需的任何特定权限有关?有没有办法使用任何权限的DB查询来检查它?或者它可以是其他所有的东西在一起?

我已经尽我所能了。请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2020-03-14 01:58:12

我通过在application.properties中添加以下属性解决了这个问题

代码语言:javascript
复制
spring.jpa.properties.hibernate.hbm2ddl.jdbc_metadata_extraction_strategy=individually
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58859044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档