В Spring Data - Cassandra (SDC), я хочу повторно использовать один и тот же сеанс драйвера DataStax, но получить доступ к различным Ключевым пространствам, в зависимости от того, какой арендатор (в модели с несколькими арендаторами SaaS) обращается к Кассандре на данный момент. Тем не менее, в моих исследованиях показано, что добавление ключевого пространства для создания полностью квалифицированных запросов является предпочтительным способом достижения этого.Узор весной, чтобы добавить Keyspace в таблицы динамически?
У SDC есть крючки для этого? Я ищу что-то похожее на многопользовательскую поддержку Hibernate. В Hibernate он может повторно использовать тот же Пул соединений. Приложение предоставляет способ сообщить Hibernate, что арендатор находится в текущем контексте, и может контролировать, как подключается сеанс Hibernate - возможно, другая схема для каждого арендатора, вызывая «SET SCHEMA» foo_tenant_schema »в соединении JDBC или что-то в этом роде.
Если нет, мне нужно написать его самостоятельно. Хорошо. Я думаю, что загружу карту «tenantID-to-keyspace» и каким-то образом динамически добавлю ее, чтобы сделать полноценный вызов. Я не уверен, как это повлияет на PreparedStatements сеанса DataStax и т. Д.
Если есть какие-либо мысли о лучшем способе, скажите, пожалуйста.