query.list() Исключение java.lang.Integer не может быть приведено к java.lang.String

Я сталкиваюсь с ошибкой, когда я нахожусь в запросах javax До сих пор я не сталкивался с такой ошибкой, и я не знаю почему

@POST
@Path("/aa")
@Consumes(MediaType.APPLICATION_JSON)
public Response polaki(User user, @HeaderParam("Authorization") String authString, @HeaderParam("API_KEY") String apikey) throws Exception {
    if (authString.equals(UserSetting.Authorization) & apikey.equals(UserSetting.API_KEY)) {
        tx = session.getTransaction();

        tx.begin();
        Query query = session.createQuery("from Service where  service=:service");
        query.setParameter("service", user.getService());
        tx.commit();
        List ls= query.list(); // Eror

        return Response.status(200).entity("{\"message\":\"Service Eror\"}").build();
    } else {
        return Response.status(200).entity("{\"message\":\"Service Eror\"}").build();
    }
}

Исключение java.lang.Integer не может быть приведено к java.lang.String.

1 ответ

Решение

Что делает твой user.getService() вернуть? Целое число?

Попробуйте это например и посмотрите, что происходит:

query.setParameter("service", String.valueOf(user.getService()));

service вероятно, varchar (String-ish) в вашей базе данных.

Другие вопросы по тегам