我使用基于模式的多租户两个MultiTenantConnectionProvider & CurrentTenantIdentifierResolver提供实现。尝试为单个承租人获得休眠会话会导致NPE失败。 展望Hibernate的源代码,似乎JDBCServicesImpl初始化的ConnectionProvider为NULL else块Hibernate的多重任务处理测试失败,NPE
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);
}
}
请找到测试用例这在这里 - http://pastebin.com/7Mt9wtHt及其堆栈跟踪 - http://pastebin.com/8ygAu7eh
有一些基本的东西我错过了?
嗨,你可以张贴错误堆栈跟踪?我想检查你在哪里得到NPE。 –
当然,我已附加它作为另一个pastebin到帖子 –