当前位置: 首页 > 知识库问答 >
问题:

Hibernate无法找到表时hibernate.hb2ddl.auto=验证和hibernate.default_schema=xyz在SQL服务器

闻人吕恭
2023-03-14

我有一个Spring启动应用程序,可以访问多个数据源,因此我以编程方式为每个DB创建了数据源。

我的数据库在SQL服务器上

我还为每个数据源注入了LocationContainerEntityManagerFactoryBean。

在EntityManager中,我包含了以下JPA属性

尽管我的实体存在于数据库和架构xyz中,但Hibernate抛出了一个架构管理异常,即找不到表abc。

如果删除hibernate.hb2ddl.auto=validate属性,hibernate就能够识别表。

有人以前遇到过这个问题吗?谢谢你的帮助

共有1个答案

贲宏硕
2023-03-14

这是我们的结论。

如果使用SQL Server和模式分离,JPA还有一个需要设置的附加属性。

jpa.properties.hibernate.default_catalog

需要设置此属性,模式分离应该可以正常工作。

希望这个答案对将来的人有所帮助。

 类似资料:
  • 我使用javax.validation和Hibernate验证器实现了一些代码。使用验证的单元测试工作良好。该构建生成OSGi包和特性,并在Karaf中运行。 “无法创建配置,因为找不到Bean验证提供程序。请将Hibernate Validator(RI)这样的提供程序添加到类路径中。” 我会包括stacktrace,但它对我来说没有什么用。大部分都在我的代码、junit和Paxexam中。 我

  • 问题似乎重复了,但我面临一些问题,当我遵循以下配置从这个Spring Boot战争没有嵌入tomcat排除嵌入tomcat服务器 时,我在作业中使用Spring-Web使用Rest模板调用Rest服务。

  • 我从spring boot oauth2服务器生成JWT令牌,但当我想使用endpoint验证此JWT令牌时,我将post请求发送到此endpoint,并将JWT包含在授权头中,得到401-未经授权的http错误代码。 我从服务器得到的结果是: 为什么oauth服务器返回401? 下面是我对oauth服务器的实现:

  • 问题内容: 我在Oracle SQL Developer上遇到以下错误: 为什么? 问题答案: 该点中有一些记录,这些记录在中不存在。 要找出哪些记录存在此类问题: 如果结果集是不是空的,你 这样做 有orphanaged记录。您需要添加丢失的记录才能创建外键, 或者将 所有错误记录更新为null(如果这是可为空的字段,但是您将丢失这些机场记录的城市信息)。

  • 错误:找不到有效的gem“rhc”( 尝试使用以下命令: 但仍然存在相同的错误时,试图设置rhc。 通过执行这些步骤,rhc gem安装成功,但是当执行“rhc设置”以连接到openshift时,这里显示的是错误消息,而不是连接到openshift服务器

  • 我被难倒了....对于获得向缺少什么,有什么想法吗?