Json поле сработало - нет сопоставления диалектов для JDB C тип: 1111 из nativeQuery - PullRequest
1 голос
/ 18 апреля 2020

У меня есть собственный запрос для выбора данных из базы данных, я использую postgr sql, спящий режим и весеннюю загрузку с java ... Я пытаюсь найти пользователя по некоторым критериям в предложении where, но я получить ошибку "No Dialect mapping for JDBC type: 1111", вызванную полем json, как я могу преодолеть эту ошибку? и это мой код:

EntityManager em = entityManagerFactory.createEntityManager();
List<Object[]> resultat = new ArrayList<>();

String sqlString = "SELECT u.name, u.age, u.address, u.phone, u.activated FROM user as u ";

Query query = em.createNativeQuery(sqlString);
List<User> resultats = query.getResultList();
em.close();

имя пользователя - это текст, возраст - это число, адрес - это адресный объект, а телефон - это json объект.

( по некоторым причинам мне нужно очистить значение listOperators с помощью регулярного выражения, и оно работает на posgr sql).

диалект, который я использую в моем application.properties, равен spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect

Буду признателен за вашу помощь, заранее спасибо.

1 Ответ

0 голосов
/ 18 апреля 2020

Благодаря указаниям @andrewjames я решил проблему, переведя поле json в текст

...