Spring data JPA: не найден конвертер, способный конвертировать из типа - PullRequest
0 голосов
/ 20 октября 2018

Я использую пружинные данные JPA.Я пытаюсь получить запись из таблицы Employee и Room Employee Mapping, используя Inner Join.Я хочу отображать определенные записи из таблицы Employee, поэтому я использовал new map в JPQL запросе.

Если я удаляю определенные записи из запроса, я получаю правильный результат объединения, но когда я добавляю новую карту с определенным столбцом, я получаю следующую ошибку

Может ли кто-нибудь сказать мне, что яне так?

RoomEmployeeMappingRepository

@Repository
public interface RoomEmployeeMappingRepository extends JpaRepository<RoomEmployeeMapping, Integer>{

    @Query("select new map ( emp.sEmpName as sEmpName, emp.sDesignation as sDesignation, "
            + "emp.bIsPaid as bIsPaid , emp.sUnpaidComment as sUnpaidComment) from Employee as emp "
            + "Inner Join RoomEmployeeMapping as roomEmpMapping ON emp.nEmpId=roomEmpMapping.nEmpId "
            + "where roomEmpMapping.nRoomAllocationId=?1 ")
    List<Employee> findByNRoomAllocationId(Integer nRoomAllocationId);
}

Сообщение об ошибке

 "message": "No converter found capable of converting from type [java.util.HashMap<?, ?>] to type [com.spacestudy.model.Employee]",

1 Ответ

0 голосов
/ 25 октября 2018

Вы должны возвращать экземпляры Employe следующим образом:

select new com.path.to.Employee( emp.sEmpName as sEmpName, emp.sDesignation as sDesignation, "
        + "emp.bIsPaid as bIsPaid , emp.sUnpaidComment as sUnpaidComment)....

убедитесь, что вы используете полный путь к классу Employee и у вас есть конструктор, который соответствует переданным атрибутам.

...