@P_Alexander
First head

Kак исправить javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet?

Здравствуйте, ловлю такую ошибку, как ее исправить?
В модели возвращаю тип Интеджер в сервис слое и дао слое принимаю тип Интеджер, в БД это поле установлено тип Интеджер, где мне нужно привести типы я не пойму?
Запрос JPQL
@Override
    public Card findByCardNumber(Integer numberCard) {
        try {
            Card card = (Card) getEntityManager()
                    .createQuery("SELECT c FROM Card c WHERE c.number_card LIKE:number_card")
                    .setParameter("number_card", numberCard)
                    .getSingleResult();
            return card;
        }catch (NoResultException e){
            return null;
        }
    }


Test method
@Test
    public void findByCardNumber() {
        Card card = cardService.findByCardNumber(1111111111);
        Integer a = card.getNumber_card();
        Integer b = 1111111111;
        assertEquals(b, a);
    }

2018-июн-13 14:45:37 PM [main] WARN  org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: 42883
2018-июн-13 14:45:37 PM [main] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - ERROR: operator does not exist: integer ~~ integer
  Подсказка: No operator matches the given name and argument type(s). You might need to add explicit type casts.
  Позиция: 178
  • Вопрос задан
  • 2655 просмотров
Решения вопроса 1
al_gon
@al_gon
LIKE для Integer ?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы