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

使用Spring Jdbc模板处理嵌套beans查询

陶宏浚
2023-03-14
class Country {
    String name;
    String code;
    ...
    List<City> cities;
}

class City {
    String name;
    String zip;
    ...
    List<Street> streets;
}

class Street {
    String name;
}

我可以用两种方法解决:

>

  • 查询循环(查询国家,循环结果查询其城市,循环结果查询其街道....)

    完整的平面数据源(一个单独的宽选择,连接所有3个表,所有行的最大详细信息按外部到内部字段排序),然后拆分。

    select * 
    from countries c 
    join cities t ... 
    join streets s ... 
    order by c.name, c.code, ..., t.name, t.zip, ...
    
  • 共有1个答案

    艾宁
    2023-03-14

    就性能而言,第一个解决方案确实很糟糕。这意味着您将对数据库运行大量查询,这些查询的数量实际上取决于行数。

    我相信数据库最终将无法处理这个问题。

    第二种方法要好得多,您可以在一个查询中处理它,而且由于使用jdbc模板,创建相应的对象一定不难。

     类似资料:
    • 我当前使用Streams API和forEach循环的方法: 正如该方法的名称所暗示的,我希望找到一个map,其中包含每个产品类别中指定类别(作为键)中最多购买(作为值)的客户机 购物基本上是一个地图:, null

    • 我有许多查询,有许多选择字段和一些嵌套实体。这是嵌套实体结构的简化版本: 所有实体都有1:N关系,所以我可以编写单个长查询来获取所有数据。我希望避免多次查询来分别获得每个单个实体。

    • 什么是模板 你一定听说过一种叫做MVC的设计模式,Model处理数据,View展现结果,Controller控制用户的请求,至于View层的处理,在很多动态语言里面都是通过在静态HTML中插入动态语言生成的数据,例如JSP中通过插入<%=....=%>,PHP中通过插入<?php.....?>来实现的。 通过下面这个图可以说明模板的机制 图7.1 模板机制图 Web应用反馈给客户端的信息中的大部分

    • 短版 使用Spring时,如何在Thymeleaf中创建嵌套模板?Spring中的属性中似乎不支持星号符号()。是否有变通/不同的标签可供使用? 长版本 例如,假设我有以下课程: 所以我做了一个Thymeleaf模板: 我们用一个样本

    • beego 的模板处理引擎采用的是 Go 内置的 html/template 包进行处理,而且 beego 的模板处理逻辑是采用了缓存编译方式,也就是所有的模板会在 beego 应用启动的时候全部编译然后缓存在 map 里面。 模板目录 beego 中默认的模板目录是 views,用户可以把模板文件放到该目录下,beego 会自动在该目录下的所有模板文件进行解析并缓存,开发模式下每次都会重新解析,

    • 我对Java不熟悉,所以我正在尝试一些事情。 我正在玩Java布局,特别是使用BorderLayout的嵌套面板。 我的问题是,我无法绘制嵌套面板。我可以画到主面板,但不能画嵌套在其中的面板。 如果你能告诉我哪里出了问题,我会非常高兴。 这是我的主要代码: 这是主面板。 然后创建两个嵌套面板,并将其添加到主面板中。 这里我称之为在屏幕上绘制形状的类。 这里是问题,因为我无法绘制嵌套面板的形状。 然