JOOQ动态表名

时间:2018-04-03 07:05:32

标签: mysql jooq

例如,假设我的函数接受名为' entityType'的参数,并根据它查询表entityType_other_stuff

这可以在运行时在JOOQ中实现吗?

1 个答案:

答案 0 :(得分:2)

按名称创建动态org.jooq.Table对象的正确方法是使用DSL.table(Name),如下所示:

String parameter = "entityType";
Table<?> table = table(name(parameter + "_other_stuff"));

如果您使用标准Settings.renderNameStyle QUOTED,则会引用并转义标识符,从而使SQL注入安全。

有关详细信息,请参阅手册:https://www.jooq.org/doc/latest/manual/sql-building/names