来自2个表和Spring Data JPA的自定义查询

问题描述 投票:0回答:1

例外:

org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [model.pojo.CarPrice]

有2张桌子

+------------------+--------------+------+-----+---------+----------------+
| Field            | Type         | Null | Key | Default | Extra          |
+------------------+--------------+------+-----+---------+----------------+
| car_id           | int(11)      | NO   | PRI | NULL    | auto_increment |
| car_brand        | varchar(255) | NO   |     | NULL    |                |
| car_model        | varchar(255) | YES  |     | NULL    |                |
| car_plate_number | varchar(255) | NO   |     | NULL    |                |
| car_type         | varchar(255) | YES  |     | NULL    |                |
+------------------+--------------+------+-----+---------+----------------+

+---------------------+-------------+------+-----+---------+----------------+
| Field               | Type        | Null | Key | Default | Extra          |
+---------------------+-------------+------+-----+---------+----------------+
| car_rent_details_id | int(11)     | NO   | PRI | NULL    | auto_increment |
| cost_per_day        | double      | YES  |     | NULL    |                |
| rent_start_date     | varchar(20) | YES  |     | NULL    |                |
| rent_end_date       | varchar(20) | YES  |     | NULL    |                |
| car_info_id         | int(11)     | NO   | UNI | NULL    |                |
| avaliable_to_rent   | tinyint(1)  | YES  |     | NULL    |                |
+---------------------+-------------+------+-----+---------+----------------+

我试图从Car中获取全部数据以及CarRentDetails的一部分

在我的车库中

@Repository
public interface CarRepository extends JpaRepository<Car, Integer> {

    String ALL_AVAILIABLE_CAR_LIST_PRICE = " SELECT c.car_id, c.car_brand, c.car_model, 
     c.car_plate_number, c.car_type, crd.cost_per_day, crd.avaliable_to_rent " +
            " FROM car_info c " +
            " JOIN car_rent_details crd" +
            " ON c.car_id = crd.car_rent_details_id" +
            " AND crd.avaliable_to_rent = true ";

    @Query(value = ALL_AVAILIABLE_CAR_LIST_PRICE, nativeQuery = true)
    List<CarPrice> findAllByAvaliablePrice();

试图将此映射到我的POJO类:

public class CarPrice {

    private Integer carId;
    private String carBrand;
    private String carModel;
    private String carPlateNumber;
    private CarType carType;
    private double costPerDay;
    private boolean avaliableToRent;

+ getters, setters, to string 

如何从此查询映射对象?

spring spring-data-jpa spring-data spring-data-rest
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.