У меня есть таблица t1 postgres, в которой есть типы столбцов, такие как uuid и отметка времени с зоной и т. Д., Которые вызывают
org.springframework.orm.jpa.JpaSystemException: No Dialect mapping for JDBC type: 1111; nested exception is org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
Если я попытаюсь получить d столбцов типа int или varchar, мойкод работает нормально, но когда я пытаюсь включить столбцы с типом данных uuid или типом даты, происходит сбой с вышеуказанным исключением.
Так что у меня есть класс интерфейса репозитория, который расширяет мой интерфейс CustomRepository, который снова реализуетсядругим классом для реализации моих пользовательских запросов, как показано ниже:
@Repository
interface Repo extends JpaRepository<Entity, UUID>, CustomRepo {
// some repo methods
}
interface CustomRepo {
List queryBy(Type1 par1, Type2 par2);
}
@Service
class CustomRepoImpl implements CustomRepo {
@PersistenceContext
private EntityManager entityManager;
public List queryBy(Type1 par1, Type2 par2) {
query_string = "SOME QUERY STRING WITH JOINS";
Query query = entityManager.createNativeQuery(query_string);
List<Object[]> resultList = (List<Object[]>) query.getResultList(); // giving No Dialect mapping for JDBC type: 1111
return resultList;
}
}
Поэтому, когда моя строка запроса выбирает столбцы типа int или varchar, я не сталкиваюсь с какими-либо проблемами, но когда я пытаюсь выбрать столбцы, которыеЯ имею в виду вышеупомянутое исключение, вероятно, потому что он не мог найти соответствующие сопоставления Java для них.
Как мне избежать этого?В любом случае я могу явно добавить сопоставления для запроса, чтобы подобрать для этих типов столбцов?