所以我有两个表:

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


现在,我要列出我的所有汽车(表“ 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'...


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

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


所以我想打印“现代1.4”。

有人知道我该怎么做吗?

@编辑

我的表格结构照片:
脚手架
java - 使用jdbcTemplate从两个表中显示多个记录-LMLPHP

Silnik(“ pojemnosc” =“容量”):
java - 使用jdbcTemplate从两个表中显示多个记录-LMLPHP

关系:

java - 使用jdbcTemplate从两个表中显示多个记录-LMLPHP

最佳答案

类Samochod上的silnik字段为Silnik类型。但是在数据库上是Integer。
您需要将silnik的类型更改为integer或写you own BeanPropertyRowMapper

10-06 01:39