我开始将JOOQ与DVD租赁商店数据库aka sakila一起使用。基本上,我想获取一个演员及其角色(我创建的表)。到目前为止,我想到了这个:
public ActorDTO findByName(String name) {
ResultSet actors = dsl.select()
.from(Tables.ACTOR)
.join(Tables.ROLE_ACTOR).on(Tables.ROLE_ACTOR.ACTOR_ID.equal(Tables.ACTOR.ACTOR_ID))
.join(Tables.ROLE).on(Tables.ROLE.ID.equal(Tables.ROLE_ACTOR.ROLE_ID))
.fetchResultSet();
return null;
}
我希望能够将演员及其角色提取到一个对象中:DTO。我发现了这篇文章https://arnaudroger.github.io/blog/2017/03/02/jooq-one-to-many-without-dto.html,但是我发现使用sfm解决方案过于冗长,并且由于我更喜欢使用简单的POJO,因此使用Tuple毫无疑问。
关于获取具有关联联接的记录有什么建议?
答案 0 :(得分:0)
有一个直接使用DTO的版本,请参见https://arnaudroger.github.io/blog/2017/02/27/jooq-one-to-many.html
由冗长吗?您是在谈论Tuple2还是mapper实例?还是.as()为列添加别名?