请求中的Spring JPA实体表名称

fbcarpbf  于 8个月前  发布在  Spring
关注(0)|答案(2)|浏览(81)

我有多个具有相同架构的表。唯一的区别是表名。表名格式为table_name_<tenant_id>,例如table_name_1table_name_24table_name_15等,
我想使用单个Entity和JPA存储库来执行此表上的操作。我从请求中获取tenant_id。我想对相应的表执行查询。
如何动态设置用于查询的表名?
我们只有5个这样的表,因为每个租户的数据非常高

  • 没有添加MWE,因为我找不到任何地方开始尝试方法。

编辑:将user_id替换为tenant_id,并添加当前表的数量

2g32fytz

2g32fytz1#

@罗纳尔多·伊西多罗在评论中提供了解决方案
https://naveen.me/jpa-dynamic-table-name-entity/

oprakyz7

oprakyz72#

与其创建具有不同表名的不同实体,不如创建一个实体即table_name并将user_id存储为主键,并使用JPA存储库使用findByUser_Id获取用户的详细信息,以便我们可以规范化我们的数据库。

相关问题