【发布时间】:2016-08-29 12:41:01
【问题描述】:
我正在动态创建和使用只有一个元模型对象的物理数据库表。一个例子:我的元模型中有一个 JOOQ 类 Customer,但在运行时我有 CUSTOMER1、CUSTOMER2 等。我想为这些动态表编写强类型的 JOOQ 查询。以下似乎可以解决问题:
Customer CUSTOMER1 = Customer.rename("CUSTOMER1")
当然,我需要为一大堆表格执行此操作。不幸的是,我一般不能利用rename 方法,因为它不是Table<R> 接口的一部分。这是对我遗漏的东西的疏忽还是故意采取的措施?
是否有一种强大而优雅的方式来实现我想要的,即不诉诸反射?
EDIT:这两个表永远不会在同一个查询中联合使用。具体使用模式如下:在任何给定时刻,DB 同义词CUSTOMER 将指向一个(活动),而另一个正在修改(卷影副本)。修改完成后,通过将同义词指向另一个角色来交换角色,然后我们重新开始。我们这样做是为了尽量减少繁重的报告结果表的“停机时间”。
【问题讨论】:
-
您会在单个查询中拥有
CUSTOMER1和CUSTOMER2,还是每个查询只出现一次的互斥租户? -
@Lukas Eder:谢谢,我更新了问题。
标签: java code-generation jooq