我想使用以下基于 jooq 的代码插入数据库表数据以生成查询:
Factory jf = getJooqFactory();
int surveyId = jf.nextval(SURVEY_ID_SEQ).intValue();
jf.insertInto(SURVEY)
.set(SURVEY.ID, surveyId)
.set(SURVEY.NAME, survey.getName())
.set(SURVEY.IDML, Factory.val(idml, SQLDataType.CLOB))
.execute();
问题是当我使用此代码打印查询时
System.out.println(jf.insertInto(SURVEY)
.set(SURVEY.ID, null)
.set(SURVEY.NAME, null)
.set(SURVEY.IDML, null)
.getSQL());
我得到的是带有问号而不是值的查询。
insert into "collect"."survey" ("id", "name", "idml") values (?, ?, ?)
当我分别打印变量的值时,它们都是正确的。即使我在 .set() getSQL() 中手动插入字符串值也会返回问号。