当前位置: 首页 > 知识库问答 >
问题:

将连接结果映射到DTO

虞俊美
2023-03-14

我开始使用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。

关于获取具有关联联接的记录,您有什么建议?

共有1个答案

许彦
2023-03-14

有一个版本使用DTO直接看到https://arnaudroger.github.io/blog/2017/02/27/jooq-one-to-many.html

通过冗长?你是在说Tuple2还是映射器实例化?还是. as()来别名列?

 类似资料:
  • 我有一个用户类,有16个属性,比如名字,姓氏,出生日期,用户名,密码等...这些都存储在MySQL数据库中,当我想要检索用户时,我使用ResultSet。我想将每一列映射回用户属性,但我这样做的效率似乎非常低。例如,我正在做: 也就是说,我检索所有的列,然后通过将所有的列值插入用户构造函数来创建用户对象。 有人知道更快、更整洁的方法吗?

  • 我已经用MapStruct 1.1工作了几天,但还没有达到我所需要的。 我想做的是:我想将JPA实体映射到DTO,以便在Primefaces项目中实现更好的属性视图绑定。 所以我有我的实体如下: 病人JAVA 人JAVA 我想把这些实体画成这样: 耐心等待。JAVA 潘松多。JAVA 我编写了Mapper类和一个实用程序,就像GitHub上的官方示例中描述的那样(https://github.co

  • 我正在使用Datastax spark-Cassandra-connector访问cassandra中的一些数据。我的要求是将RDD与Cassandra表连接起来,获取结果并将其存储在配置单元表中。 我正在犯错误 你能帮我把转换成数据文件吗?

  • 我想进行一个复杂的查询,并将结果映射到DTO中。DTO如下所示: 我的存储库接口是从 。这抛出了一个 ,因为 本身不是实体。 存储库是: 查询从其他实体获取数据以构建DTO。有没有办法将每个列映射到DTO?我试图用下面的查询映射它,但它仍然得到<code>而不是托管类。

  • 问题内容: 有人可以向我展示如何在Hibernate中编写以下SQL并正确获取结果的示例吗? 如果可能的话,我想做的就是将结果放入自己的基类中: 我相信在JPA(使用)中是可能的,但是我还没有弄清楚如何在Hibernate(使用和)中做到这一点。 我试图更好地学习Hibernate,即使这个“简单”查询也令人困惑,无法知道Hibernate以哪种形式返回结果,以及如何将结果映射到我自己的(基)类中

  • 我有一个复杂的本机查询,我正在尝试将其结果映射到非实体DTO类。我正在尝试使用的with 我的DTO类 我的entity类,它具有我将调用此本机查询结果的存储库接口。 存储库 当我从ItemRepository调用getItemDetails()时,出现以下错误: org.springframework.data.mapping.属性引用异常:没有属性项找到项目类型的详细信息 使用和并解决此问题的