Я динамически создаю и использую физические таблицы БД, для которых у меня есть только один объект метамодели. Пример: у меня есть один класс JOOQ Customer
в моей метамодели, но у меня есть CUSTOMER1
, CUSTOMER2
и т. д. во время выполнения. Я хотел бы написать строго типизированные запросы JOOQ для этих динамических таблиц. Следующее, кажется, делает трюк:
Customer CUSTOMER1 = Customer.rename("CUSTOMER1")
Конечно, есть целая куча таблиц, для которых мне нужно это сделать. К сожалению, я не могу использовать метод rename
в общем, потому что он не является частью интерфейса Table<R>
. Это недосмотр или преднамеренная мера против чего-то, что я упускаю?
Есть ли надежный и элегантный способ добиться того, чего я хочу, то есть не прибегая к рефлексии?
EDIT: две таблицы никогда не используются вместе в одном запросе. Конкретный шаблон использования следующий: в любой момент синоним БД CUSTOMER
будет указывать на один (активный), в то время как другой модифицируется (теневая копия). Как только модификация завершена, роли меняются местами, указывая синоним на другой, и мы начинаем сначала. Мы делаем это, чтобы свести к минимуму "время простоя" больших таблиц результатов отчетов.
CUSTOMER1
иCUSTOMER2
в одном запросе, или это взаимоисключающие клиенты, которые появляются только один раз в запросе? - person Lukas Eder   schedule 04.05.2016