使用 jdbcTemplate 显示两个表中的多条记录

Show multiple records from two tables using jdbcTemplate

所以我有两个 tables:

Samochod (id, FK id of silnik, model)
Silnik (id, capacity)

现在我想列出我所有的车(所有信息来自 table "Samochod")。我试过这样的事情:

public List<Samochod> listuj() {
    List<Samochod> samochodList = new ArrayList<Samochod>();
    String query = "select * from samochod";
    samochodList = jdbcTemplate.query(query, new BeanPropertyRowMapper(Samochod.class));
    return samochodList;
}

但是我遇到了错误:

Failed to convert property value of type 'java.lang.Integer' to required type 'pl.edu.lab1.Silnik'...

有人知道如何从 table "Silnik" 获取容量吗?因为我要打印型号和容量。例如我在数据库中有:

Samochod: id = 1, id of silnik = 3, model = "Hyundai"
Silnik: id = 3, capacity = 1.4

所以我想打印 "Hyundai 1.4"。

有人知道我该怎么做吗?

@edit

我的 table 结构照片: 萨摩奇:

西尔尼克 ("pojemnosc" = "capacity"):

关系:

Samochod 上的

silnik 字段属于 Silnik 类型。但在数据库上是整数。 您需要将 silnik 的类型更改为整数或写入 you own BeanPropertyRowMapper .