Java Hibernate多租户测试因NPE而失败
我正在使用基于模式的多租户,为MultiTenantConnectionProvider和CurrentTenantIdentifierResolver提供实现。尝试为单个租户获取hibernate会话失败,出现NPE。 查看hibernate的源代码,jdbcservicesiml似乎在else块中将connectionProvider初始化为nullJava Hibernate多租户测试因NPE而失败,java,hibernate,nullpointerexception,hibernate-4.x,multi-tenant,Java,Hibernate,Nullpointerexception,Hibernate 4.x,Multi Tenant,我正在使用基于模式的多租户,为MultiTenantConnectionProvider和CurrentTenantIdentifierResolver提供实现。尝试为单个租户获取hibernate会话失败,出现NPE。 查看hibernate的源代码,jdbcservicesiml似乎在else块中将connectionProvider初始化为null private JdbcConnectionAccess buildJdbcConnectionAccess(Map configValues
private JdbcConnectionAccess buildJdbcConnectionAccess(Map configValues) {
final MultiTenancyStrategy multiTenancyStrategy = MultiTenancyStrategy.determineMultiTenancyStrategy( configValues );
if ( MultiTenancyStrategy.NONE == multiTenancyStrategy ) {
connectionProvider = serviceRegistry.getService( ConnectionProvider.class );
return new ConnectionProviderJdbcConnectionAccess( connectionProvider );
}
else {
connectionProvider = null;
final MultiTenantConnectionProvider multiTenantConnectionProvider = serviceRegistry.getService( MultiTenantConnectionProvider.class );
return new MultiTenantConnectionProviderJdbcConnectionAccess( multiTenantConnectionProvider );
}
}
请在此处找到此测试用例及其堆栈跟踪-
有什么基本的东西我遗漏了吗?我也面临着同样的问题。当我在谷歌上搜索时,hibernate中发布了一个bug。
下面是链接好了,在看了一会儿源代码之后。Hibernate(目前)不支持模式导出。这是从他们的网站上截取的 目前,架构导出不能真正用于多租户。这可能不会改变 因此,在您的情况下,修复方法是删除此行
config.getProperties().put(AvailableSettings.HBM2DDL_AUTO, "validate");
嗨,你能发布错误跟踪吗?我想看看你从哪里得到的NPE。当然,我已经把它作为另一个粘贴箱贴到了帖子上