例如,假设我的函数接受名为' entityType'的参数,并根据它查询表entityType_other_stuff
。
这可以在运行时在JOOQ中实现吗?
答案 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