所以我有一个抽象类,它为where子句后面的查询做准备。它看起来像这样:
SelectConditionStep<Record2<Integer, String>> whereQuery = dslContext.select(FOO.DIGITS, FOO.WORD)
.from(FOO)
.where(/*some conditions*/);
然后它返回whereQuery
,具体实现使用该实例向其添加内容
有没有可能让这个调用返回SelectConditionStep<MyClass>
,这样我就不必在方法签名中写入所有Record类型(注意,这是一个简化版本,想象一下有Record10(。在本例中,MyClass
将具有两个字段,Integer
和String
字段。或者,如果不是这样,还有其他方法吗?
我使用Postgres作为数据库
假设您有一个不可变的POJOMyClass
,例如Java 16记录:
record MyClass(int digits, String word) {}
您可以使用嵌套记录来实现类似的功能:
Select<Record1<MyClass>> whereQuery =
ctx.select(row(FOO.DIGITS, FOO.WORD).mapping(MyClass::new))
.from(FOO)
.where(...)