Skip to content

Remove caching for table, schema and column names using SpEL expressions #1549

@goafabric

Description

@goafabric

This is a followup to #1461

While the above ticket successfully enables SpEL for Table and Schema,
allowing us to have a lightweight solution for Multi Tenancy / Multi Schema,
it only works for queries / select statements.
(e.g. select .. from tenant_0, select ... from tenant_5)

For inserts, it will always use the first spel expression that was resolved
(e.g. always insert into tenant_0)

A lightweight alternative to achieve the goal of multi schema,
could have been the NamingStrategy.
Unfortunately, this also gets Cached inside the CachingNamingStrategy
and also evaluated only once.

Having a solution for either one of these, would be awesome.

Thx in advance

-- cut examples ---

https://github.com/table(name = "insurance", schema = "#{@tenantIdBean.getPrefix()}")

https://github.com/component
public class TenantIdBean {
public String getPrefix() {
return "tenant_" + HttpInterceptor.getTenantId();
}
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions