jOOQ 中有 pluck() 的等价物吗?

Is there an equivalent of pluck() in jOOQ?

我今天才发现 jOOQ 并决定试一试。只是想知道,是否有等同于 Eloquent 的 pluck().这消除了为了获取单个值而编写大量冗长的代码。例如在 Eloquent (Laravel) 中,我将通过以下方式简单地获取地点名称:

    $name = Place::where('iso_code', '=', $code)->pluck('name');

    $name = DB::table('places')->where('iso_code', '=', $code)->pluck('name');

jOOQ 中是否有等效的东西?

谢谢。

根据我的理解 pluck()(有趣的命名选择),我怀疑你想要做的是以下 SQL:

SELECT name FROM places WHERE iso_code = ?

在 jOOQ 中,以下语句将执行相同的操作(使用代码生成器):

String name =
DSL.using(configuration)
   .select(PLACES.NAME)
   .from(PLACES)
   .where(PLACES.ISO_CODE.eq(code))
   .fetchOne(PLACES.NAME);

不使用代码生成器:

Field<String> field = DSL.field("name", String.class);

String name =
DSL.using(configuration)
   .select(field)
   .from("places")
   .where("iso_code = ?", code)
   .fetchOne(field);

因此,Eloquent 的 pluck() 相当于 jOOQ 的 ResultQuery.fetchOne(Field)