我有一些代码可以创建一个表,然后使用不同的代码尝试使用Table<?>
加载给定表名的DSLContext.meta()
实例
DSLContext db = getDslContext();
String tempTableName = "temp_" + System.currentTimeMillis();
db.createTemporaryTable(tempTableName).as(select(fields)
.from(downstreamTable)
.limit(0)).execute();
Optional<Table<?>> table = db.meta().getTables().stream()
.filter(t -> t.getName().equals(tableName))
.findFirst()
预期-将返回表,但是找不到该表。此外,在meta().getSchemas()
我知道我可以使用DSL.table()
创建一个表,但是我想使用table.fields()检索所有字段。当前,我需要创建自己的小Table类,以容纳名称和字段,但是感觉很不对。
如果我创建一个实表而不是临时表,则上面的代码有效。有没有一种方法可以通过使用临时表来实现它,要么通过在meta()中查找表,要么通过以table.fields()返回表字段的方式创建表?