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) в вашей базе данных.