春季启动JPA中的“ ConverterNotFoundException”

时间:2019-07-06 07:27:29

标签: java hibernate spring-boot spring-data-jpa

我想通过调用具有3个表的自然联接的query(SearchOutput方法)来获得@Query数据对象。但是查询运行时显示错误。

我试图在我的spring boot controller类中获取数据。但是由于错误而无法正常工作

package com.example.mysqlproj.model;
import lombok.*;
public class SearchOutput {
    private String  hotel_name;
    private String room_type;
    private int price;

}

package com.example.mysqlproj.dao;
import com.example.mysqlproj.model.Room_Type;
import com.example.mysqlproj.model.SearchOutput;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import java.util.Collection;
import java.util.Date;
import java.util.List;

public interface RoomTypeDao extends CrudRepository<Room_Type,Integer> {

    @Query(value="select new SearchOutput(hotel_name , room_type,(price*(?4)*(?3)*(1.15))) from Room_type natural join Hotel natural join True_contract where  (?1 >= start_date and ?2 <= end_date and ?3 <=available_rooms and ?4<= max_adults )", nativeQuery = true)
    List<SearchOutput[]> checkHotelList(Date from, Date to, int rooms, int adults, int total_nights);

}

错误:

No converter found capable of converting from type [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [com.example.mysqlproj.model.SearchOutput]] with root cause 

我的目标是在调用查询时获取searchOutput对象数组。 有什么解决办法吗?预先感谢

1 个答案:

答案 0 :(得分:0)

查询的响应类型为 List<Map<String, Object>>

请将方法返回类型更改为此。