适用于以下版本:开发版 (3.21) | 最新版 (3.20) | 3.19

这是一个实验性功能,因此可能会发生变化。使用风险自负!

表映射替换器

适用于 ❌ 开源版   ✅ Express 版   ✅ 专业版   ✅ 企业版

jOOQ 具有强大的运行时目录、模式和表映射功能,可用于实现多租户用例等。此映射功能旨在作为应用程序的全局配置。但是,通常您只需要为特定目的映射单个表或一小组表,例如

-- Input
SELECT t.id, t.value FROM t

-- Output
SELECT u.id, u.value FROM u

为了实现这一点,只需应用以下替换

Select<?> input = select(T.ID, T.VALUE).from(T);
Select<?> output = (Select<?>) input.$replace(Replacers.mappingTable(T, U));

或者,如果决定映射什么更加复杂,请使用 lambda

Select<?> input = select(T.ID, T.VALUE).from(T);
Select<?> output = (Select<?>) input.$replace(Replacers.mappingTable(t -> T.equals(t) ? U : t));

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo