当hibernate.hb2ddl.auto = validate和SQL Server

时间:2018-01-30 17:13:11

标签: hibernate jpa spring-boot

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

我的数据库在SQL Server上

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

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

hibernate.hb2ddl.auto =验证

hibernate.default_schema = XYZ

虽然我的实体存在于db和模式xyz中,但Hibernate会抛出一个Schema Management Exception,表示找不到表abc。

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

之前有人遇到过这个问题吗? 感谢任何帮助

1 个答案:

答案 0 :(得分:0)

这是我们想到的。

如果您正在使用SQL Server和架构分离,JPA还有一个需要设置的附加属性。

jpa.properties.hibernate.default_catalog=<your_db_catalog>

需要设置此属性,并且您的架构分离应该可以正常工作。

希望答案可以帮助将来的某个人。