这编译,但似乎有点迂回:
List<Field<?>> selectFields = new ArrayList<>();
selectFields.add(DSL.field(MY_TABLE.SOME_FIELD.isNull()).as("field_alias"));
field()
调用是必需的,因为isNull()
会返回Condition
,而我认为我需要Field
。有没有更好的办法?也许isNull()
会返回可以直接在select()
中使用的内容?
答案 0 :(得分:1)
DSL.field(Condition)
(你已经在使用)是去这里的方式。
有人考虑让Condition
扩展Field<Boolean>
:https://github.com/jOOQ/jOOQ/issues/3867,但这种改变在向后兼容性方面风险太大。