Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate多租户测试因NPE而失败_Java_Hibernate_Nullpointerexception_Hibernate 4.x_Multi Tenant - Fatal编程技术网

Java Hibernate多租户测试因NPE而失败

Java 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

我正在使用基于模式的多租户,为MultiTenantConnectionProvider和CurrentTenantIdentifierResolver提供实现。尝试为单个租户获取hibernate会话失败,出现NPE。 查看hibernate的源代码,jdbcservicesiml似乎在else块中将connectionProvider初始化为null

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。当然,我已经把它作为另一个粘贴箱贴到了帖子上