Sql 如何在jOOQ中获取联接表结果?

Sql 如何在jOOQ中获取联接表结果?,sql,jooq,Sql,Jooq,我的数据库中有一个小的特殊情况,我需要从两个不同的表中获取数据,这两个表具有一对一的关系,以便得到有用的结果。提取过程如下所示: SELECT time_period.from_day, time_period.to_day, store_time_period.valid_for_days FROM time_period, store_time_period WHERE -- .. condition 当然,我在实际代码中使用了JOIN——这只是一个例子。我的问题是,是否以

我的数据库中有一个小的特殊情况,我需要从两个不同的表中获取数据,这两个表具有一对一的关系,以便得到有用的结果。提取过程如下所示:

SELECT 
  time_period.from_day, time_period.to_day, store_time_period.valid_for_days 
FROM time_period, store_time_period 
WHERE 
  -- .. condition
当然,我在实际代码中使用了
JOIN
——这只是一个例子。我的问题是,是否以及如何将jOOQ中获取的数据写入POJO。我不确定是否有办法让jOOQ为我生成这个POJO,但如果我必须自己编写它,我假设我需要适配器之类的东西,以及
org.jOOQ.Converter
作为数据类型的转换器

我看到有可能是一个,但这似乎只处理单一的,已经知道的表

那么,使用jOOQ实现类似操作的最佳方法是什么呢?

您可以在不需要适配器或转换器的情况下获取(未生成的)POJO。有关示例,请参阅
jOOQ
在线文档

jOOQ
将根据列的名称将查询中的列映射到POJO字段。名称不必与列名完全匹配
DefaultRecordMapper
文档显示了如何忽略下划线和大小写

在您的例子中,创建POJO是为了获取这些结果。因此,可以将POJO字段命名为与查询列相同的名称。但是如果名称必须不同,您可以使用JPA注释告诉
jOOQ
在每个字段中放置哪一列:

@Column(name = "TITLE")
public String myTitle;
(如果这还不够好,至少还有两种方法可以做到:可以使用构造函数,或者将结果提取到HashMap中。)