我有多个具有相同架构的表。唯一的区别是表名。表名格式为table_name_<tenant_id>
,例如table_name_1
、table_name_24
、table_name_15
等,
我想使用单个Entity和JPA存储库来执行此表上的操作。我从请求中获取tenant_id。我想对相应的表执行查询。
如何动态设置用于查询的表名?
我们只有5个这样的表,因为每个租户的数据非常高
- 没有添加MWE,因为我找不到任何地方开始尝试方法。
编辑:将user_id
替换为tenant_id
,并添加当前表的数量
2条答案
按热度按时间2g32fytz1#
@罗纳尔多·伊西多罗在评论中提供了解决方案
https://naveen.me/jpa-dynamic-table-name-entity/
oprakyz72#
与其创建具有不同表名的不同实体,不如创建一个实体即table_name并将user_id存储为主键,并使用JPA存储库使用findByUser_Id获取用户的详细信息,以便我们可以规范化我们的数据库。