Столбец Postgresql jsonb с проблемой spring jpa nativequery

#postgresql #hibernate #spring-data-jpa #jsonb

#postgresql #спящий режим #spring-data-jpa #jsonb

Вопрос:

У меня есть собственный запрос, определенный в spring JpaRepositroy как:

 @Query(value="Select * from Employee WHERE....", nativeQuery=true)
List<Employee> getEmployees(....)
  

В entity у меня есть поле jsonb, определенное как:

 import com.vladmihalcea.hibernate.type.json.JsonBinaryType;
....
@Type(type = "jsonb")
@Column(name = "properties", columnDefinition = "jsonb")
private ObjectNode properties;
  

Эта настройка работает идеально, и она правильно извлекает записи для меня.

Но если я попытаюсь извлечь только некоторые определенные столбцы, изменив запрос как:

 @Query(value="Select emp_name, properties from Employee WHERE....", nativeQuery=true)
List<Object[]> getEmployees(....)
  

Это выдает ошибку как:

 Caused by: org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
  

И я получаю эту ошибку, только если поле свойств находится в предложении SELECT, иначе это тоже работает нормально.

В чем же причина? И как заставить его работать с полем свойств?

Комментарии:

1. Какие версии hibernate и hibernate-types вы используете?

2. Я использую spring 2.3 (hibernate 5.4.20) с типами гибернации 2.9.11.