我正在尝试使用多租户选项和自动模式创建配置Hibernate SessionFactory,但是我坚持这个错误:
java.lang.NullPointerException
at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:51)
at org.hibernate.tool.hbm2ddl.DatabaseExporter.
这是我的弹簧配置:
现在我只使用DataSource 1,SampleConnectionProvider和TenantResolver总是返回相同的租户和数据源.但是,当Schema Export运行时,它会抛出NullPointerException.提供给SuppliedConnectionProviderHelper的ConnectionProvider为null.在使用多租户时,他似乎无法选择合适的ConnectionProvider.在SchemaExport上创建SuppliedConnectionProviderHelper:
this.connectionHelper = new SuppliedConnectionProviderConnectionHelper(
serviceRegistry.getService( ConnectionProvider.class )
);
使用多租户时可以使用hibernate.hbm2ddl.auto吗?已经在hibernate文档中搜索但没有找到任何内容.
任何帮助将非常感激!
最好的祝福
JoãoSimas
最佳答案
看起来SchemaExport中不支持多租户.我查看了其他地方的源代码连接提供程序是基于多租户策略获得的.请参阅第581 here行.我没有在SchemaExport中看到这种情况.此外,如果有多个数据源,SchemaExport也应该自动在其他数据源中创建模式.我没有看到SchemaExport做那样的事情.
See和JIRA issue. JIRA问题没有您描述的确切问题,但有建议在评论中创建模式的工作.
这只是我的静态分析.您应该打开问题或在这里等待某人发布答案.据我所知,这似乎是错误或不支持的功能.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。